Clean the environment.
Set locations, and the working directory …
Defining phenotypes and datasets.
Create a new analysis directory, including subdirectories.
[1] FALSE
[1] FALSE
[1] FALSE
[1] FALSE
Setting working directory and listing its contents.
[1] "/Users/slaan3/OneDrive - UMC Utrecht/PLINK/analyses/lookups/AE_20200512_COL_MKAVOUSI_MBOS_CHARGE_1000G_CAC/scRNAseq"
[1] "AESCRNA" "scRNAseq.nb.html" "scRNAseq.Rmd"
… a package-installation function …
… and load those packages.
We will create a datestamp and define the Utrecht Science Park Colour Scheme.
For the ERA-CVD ‘druggable-MI-targets’ project (grantnumber: 01KL1802) we will perform two related RNA sequencing (RNAseq) experiments:
conventional (‘bulk’) RNAseq using RNA extracted from carotid plaque samples, n ± 700. As of Thursday, March 11, 2021 all samples have been selected and RNA has been extracted; quality control (QC) was performed and we have a dataset of 635 samples.
single-cell RNAseq (scRNAseq) of at least n = 40 samples (20 females, 20 males). As of Thursday, March 11, 2021 data is available of 40 samples (3 females, 15 males), we are extending sampling to get more female samples.
Plaque samples are derived from carotid endarterectomies as part of the Athero-Express Biobank Study which is an ongoing study in the UMC Utrecht.
Here we map the CHARGE Consortium 1000G GWAS on coronary artery calcification (CAC) susceptibility loci to the single-cell carotid plaque data. These are given in:
IndSigSNPsforSander.xlsxGeneList_15042020.xlsxlibrary(openxlsx)
CAC_gene_list <- read.xlsx(paste0(TARGET_loc, "/GeneList_15042020.xlsx"))
CAC_variants <- read.xlsx(paste0(TARGET_loc, "/IndSigSNPsforSander.xlsx"))
DT::datatable(CAC_gene_list)
DT::datatable(CAC_variants)
NA
We will construct a list of genes to map to our scRNAseq data.
target_genes <- unlist(CAC_gene_list$symbol)
target_genes
[1] "PHACTR1" "EDN1" "GFOD1" "TBC1D7" "ENPP1" "ENPP3" "IGFBP3" "AC011294.3" "C9orf53" "CDKN2B" "RP11-145E5.5" "CDKN2A" "MTAP"
[14] "AL137026.1" "ZNF32" "ZNF485" "ARID5B" "RTKN2" "ADK" "AP3M1" "CAMK2G" "COMTD1" "DUPD1" "DUSP13" "KAT6B" "SAMD8"
[27] "VCL" "VDAC2" "FGF23" "COL4A2" "ADAMTS7" "CHRNB4" "MORF4L1" "CHRNA5" "CTSH" "APOE" "APOC1" "BCAM" "PVRL2"
[40] "TOMM40" "RPL9" "C6orf195" "C12orf4" "COL4A1" "CETP" "SMG6" "PLEKHJ1"
First we will load the data:
Here we load the latest dataset from our Athero-Express Single Cell RNA experiment.
scRNAseqData <- readRDS(paste0(RAWDATA, "/Seuset_40_patients/Seuset_40_patients.RDS"))
scRNAseqData
An object of class Seurat
38835 features across 6191 samples within 2 assays
Active assay: SCT (18283 features, 3000 variable features)
1 other assay present: RNA
2 dimensional reductions calculated: pca, umap
The naming/classification is based on a combination conventional markers. We do not claim to know the exact identity of each cell, rather we refer to cells as ‘KIT+ Mast cells"-like cells. Likewise we refer to the cell clusters as ’communities’ of cells that exihibit similar properties, i.e. similar defining markers (e.g. KIT).
We will rename the cell types to human readable names.
### change names for clarity
backup.scRNAseqData = scRNAseqData
# get the old names to change to new names
UMAPPlot(scRNAseqData, label = FALSE, pt.size = 1.25, label.size = 4, group.by = "ident")
unique(scRNAseqData@active.ident)
[1] CD14+CD68+ Macrophages II CD3+CD4+ T Cells II CD14+CD68+ Macrophages I CD3+CD8+ T cells I CD34+ Endothelial Cells II CD3+CD8A+ T Cells II Mixed Cells II
[8] Mixed Cells I CD14+CD68+ Macrophages III NCAM1+ Natural Killer Cells ACTA2+ Smooth Muscle Cells CD34+ Endothelial Cells I CD3+CD4+ T Cells III KIT+ Mast Cells
[15] CD79A+ B Cells I CD3+CD4+ T Cells I CD3+CD8 T cells III CD79A+ B Cells II
18 Levels: CD3+CD8 T cells III CD79A+ B Cells II KIT+ Mast Cells CD3+CD4+ T Cells III CD14+CD68+ Macrophages III CD79A+ B Cells I Mixed Cells II NCAM1+ Natural Killer Cells ... CD3+CD8+ T cells I
celltypes <- c("CD14+CD68+ Macrophages I" = "CD14+CD68+ M I",
"CD14+CD68+ Macrophages II" = "CD14+CD68+ M II",
"CD14+CD68+ Macrophages III" = "CD14+CD68+ M III",
"CD3+CD8+ T cells I" = "CD3+CD8+ T I",
"CD3+CD8A+ T Cells II" = "CD3+CD8A+ T II ",
"CD3+CD8 T cells III" = "CD3+CD8 T III",
"CD3+CD4+ T Cells I" = "CD3+CD4+ T I",
"CD3+CD4+ T Cells II" = "CD3+CD4+ T II",
"CD3+CD4+ T Cells III" = "CD3+CD4+ T III",
"CD34+ Endothelial Cells I" = "CD34+ EC I",
"CD34+ Endothelial Cells II" = "CD34+ EC II",
"Mixed Cells I" = "Mixed I",
"Mixed Cells II" = "Mixed II",
"ACTA2+ Smooth Muscle Cells" = "ACTA2+ SMC",
"NCAM1+ Natural Killer Cells" = "NCAM1+ NK",
"KIT+ Mast Cells" = "KIT+ MC",
"CD79A+ B Cells I" = "CD79A+ B I",
"CD79A+ B Cells II" = "CD79A+ B II")
scRNAseqData <- Seurat::RenameIdents(object = scRNAseqData,
celltypes)
UMAPPlot(scRNAseqData, label = TRUE, pt.size = 1.25, label.size = 4, group.by = "ident",
repel = TRUE)
Loading Athero-Express clinical data.
require(haven)
# AEDB <- haven::read_sav(paste0(AEDB_loc, "/2019-3NEW_AtheroExpressDatabase_ScientificAE_02072019_IC_added.sav"))
AEDB <- haven::read_sav(paste0(AEDB_loc, "/2020_1_NEW_AtheroExpressDatabase_ScientificAE_16-03-2020.sav"))
We need to be very strict in defining symptoms. Therefore we will fix a new variable that groups symptoms at inclusion.
Coding of symptoms is as follows:
We will group as follows:
# Fix symptoms
attach(AEDB)
AEDB[,"Symptoms.5G"] <- NA
AEDB$Symptoms.5G[sympt == 0] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == 1 | sympt == 7 | sympt == 13] <- "TIA"
AEDB$Symptoms.5G[sympt == 2 | sympt == 3] <- "Stroke"
AEDB$Symptoms.5G[sympt == 4 | sympt == 14 | sympt == 15 ] <- "Ocular"
AEDB$Symptoms.5G[sympt == 8 | sympt == 11] <- "Retinal infarction"
AEDB$Symptoms.5G[sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Other"
# AsymptSympt
AEDB[,"AsymptSympt"] <- NA
AEDB$AsymptSympt[sympt == -999] <- NA
AEDB$AsymptSympt[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3] <- "Symptomatic"
AEDB$AsymptSympt[sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Ocular and others"
# AsymptSympt
AEDB[,"AsymptSympt2G"] <- NA
AEDB$AsymptSympt2G[sympt == -999] <- NA
AEDB$AsymptSympt2G[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt2G[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3 | sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Symptomatic"
detach(AEDB)
# table(AEDB$sympt, useNA = "ifany")
# table(AEDB$AsymptSympt2G, useNA = "ifany")
# table(AEDB$Symptoms.5G, useNA = "ifany")
#
# table(AEDB$AsymptSympt2G, AEDB$sympt, useNA = "ifany")
# table(AEDB$Symptoms.5G, AEDB$sympt, useNA = "ifany")
table(AEDB$AsymptSympt2G, AEDB$Symptoms.5G, useNA = "ifany")
Asymptomatic Ocular Other Retinal infarction Stroke TIA <NA>
Asymptomatic 333 0 0 0 0 0 0
Symptomatic 0 416 119 43 732 1045 0
<NA> 0 0 0 0 0 0 1103
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "sympt", "Symptoms.5G", "AsymptSympt"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# table(AEDB.temp$Symptoms.5G, AEDB.temp$AsymptSympt)
#
# rm(AEDB.temp)
We will also fix the plaquephenotypes variable.
Coding of symptoms is as follows:
# Fix plaquephenotypes
attach(AEDB)
AEDB[,"OverallPlaquePhenotype"] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == 1] <- "fibrous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 2] <- "fibroatheromatous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 3] <- "atheromatous"
detach(AEDB)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "plaquephenotype", "OverallPlaquePhenotype"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the diabetes status variable.
# Fix diabetes
attach(AEDB)
AEDB[,"DiabetesStatus"] <- NA
AEDB$DiabetesStatus[DM.composite == -999] <- NA
AEDB$DiabetesStatus[DM.composite == 0] <- "Control (no Diabetes Dx/Med)"
AEDB$DiabetesStatus[DM.composite == 1] <- "Diabetes"
detach(AEDB)
table(AEDB$DM.composite, AEDB$DiabetesStatus)
Control (no Diabetes Dx/Med) Diabetes
0 2764 0
1 0 985
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the smoking status variable. We are interested in whether someone never, ever or is currently (at the time of inclusion) smoking. This is based on the questionnaire.
diet801: are you a smoker?diet802: did you smoke in the past?We already have some variables indicating smoking status:
SmokingReported: patient has reported to smoke.SmokingYearOR: smoking in the year of surgery?SmokerCurrent: currently smoking?require(labelled)
AEDB$diet801 <- to_factor(AEDB$diet801)
AEDB$diet802 <- to_factor(AEDB$diet802)
AEDB$diet805 <- to_factor(AEDB$diet805)
AEDB$SmokingReported <- to_factor(AEDB$SmokingReported)
AEDB$SmokerCurrent <- to_factor(AEDB$SmokerCurrent)
AEDB$SmokingYearOR <- to_factor(AEDB$SmokingYearOR)
# table(AEDB$diet801)
# table(AEDB$diet802)
# table(AEDB$SmokingReported)
# table(AEDB$SmokerCurrent)
# table(AEDB$SmokingYearOR)
# table(AEDB$SmokingReported, AEDB$SmokerCurrent, useNA = "ifany", dnn = c("Reported smoking", "Current smoker"))
#
# table(AEDB$diet801, AEDB$diet802, useNA = "ifany", dnn = c("Smoker", "Past smoker"))
cat("\nFixing smoking status.\n")
Fixing smoking status.
attach(AEDB)
AEDB[,"SmokerStatus"] <- NA
AEDB$SmokerStatus[diet802 == "don't know"] <- "Never smoked"
AEDB$SmokerStatus[diet802 == "I still smoke"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "no"] <- "Never smoked"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "yes"] <- "Ex-smoker"
AEDB$SmokerStatus[SmokerCurrent == "yes"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no data available/missing"] <- NA
# AEDB$SmokerStatus[is.na(SmokerCurrent)] <- "Never smoked"
detach(AEDB)
cat("\n* Current smoking status.\n")
* Current smoking status.
table(AEDB$SmokerCurrent,
useNA = "ifany",
dnn = c("Current smoker"))
Current smoker
no data available/missing no yes <NA>
0 2364 1308 119
cat("\n* Updated smoking status.\n")
* Updated smoking status.
table(AEDB$SmokerStatus,
useNA = "ifany",
dnn = c("Updated smoking status"))
Updated smoking status
Current smoker Ex-smoker Never smoked <NA>
1308 1814 389 280
cat("\n* Comparing to 'SmokerCurrent'.\n")
* Comparing to 'SmokerCurrent'.
table(AEDB$SmokerStatus, AEDB$SmokerCurrent,
useNA = "ifany",
dnn = c("Updated smoking status", "Current smoker"))
Current smoker
Updated smoking status no data available/missing no yes <NA>
Current smoker 0 0 1308 0
Ex-smoker 0 1814 0 0
Never smoked 0 389 0 0
<NA> 0 161 0 119
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the alcohol status variable.
# Fix diabetes
attach(AEDB)
AEDB[,"AlcoholUse"] <- NA
AEDB$AlcoholUse[diet810 == -999] <- NA
AEDB$AlcoholUse[diet810 == 0] <- "No"
AEDB$AlcoholUse[diet810 == 1] <- "Yes"
detach(AEDB)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We are interested in the following variables at baseline.
cat("====================================================================================================\n")
====================================================================================================
cat("SELECTION THE SHIZZLE\n")
SELECTION THE SHIZZLE
### Artery levels
# AEdata$Artery_summary:
# value label
# NOT USE - 0 No artery known (yet), no surgery (patient ill, died, exited study), re-numbered to AAA
# USE - 1 carotid (left & right)
# USE - 2 femoral/iliac (left, right or both sides)
# NOT USE - 3 other carotid arteries (common, external)
# NOT USE - 4 carotid bypass and injury (left, right or both sides)
# NOT USE - 5 aneurysmata (carotid & femoral)
# NOT USE - 6 aorta
# NOT USE - 7 other arteries (renal, popliteal, vertebral)
# NOT USE - 8 femoral bypass, angioseal and injury (left, right or both sides)
### AEdata$informedconsent
# value label
# NOT USE - -999 missing
# NOT USE - 0 no, died
# USE - 1 yes
# USE - 2 yes, health treatment when possible
# USE - 3 yes, no health treatment
# USE - 4 yes, no health treatment, no commercial business
# NOT USE - 5 yes, no tissue, no commerical business
# NOT USE - 6 yes, no tissue, no questionnaires, no medical info, no commercial business
# USE - 7 yes, no questionnaires, no health treatment, no commercial business
# USE - 8 yes, no questionnaires, health treatment when possible
# NOT USE - 9 yes, no tissue, no questionnaires, no health treatment, no commerical business
# USE - 10 yes, no health treatment, no medical info, no commercial business
# NOT USE - 11 yes, no tissue, no questionnaires, no health treatment, no medical info, no commercial business
# USE - 12 yes, no questionnaires, no health treatment
# NOT USE - 13 yes, no tissue, no health treatment
# NOT USE - 14 yes, no tissue, no questionnaires
# NOT USE - 15 yes, no tissue, health treatment when possible
# NOT USE - 16 yes, no tissue
# USE - 17 yes, no commerical business
# USE - 18 yes, health treatment when possible, no commercial business
# USE - 19 yes, no medical info, no commercial business
# USE - 20 yes, no questionnaires
# NOT USE - 21 yes, no tissue, no questionnaires, no health treatment, no medical info
# NOT USE - 22 yes, no tissue, no questionnaires, no health treatment, no commercial business
# USE - 23 yes, no medical info
# USE - 24 yes, no questionnaires, no commercial business
# USE - 25 yes, no questionnaires, no health treatment, no medical info
# USE - 26 yes, no questionnaires, health treatment when possible, no commercial business
# USE - 27 yes, no health treatment, no medical info
# NOT USE - 28 no, doesn't want to
# NOT USE - 29 no, unable to sign
# NOT USE - 30 no, no reaction
# NOT USE - 31 no, lost
# NOT USE - 32 no, too old
# NOT USE - 34 yes, no medical info, health treatment when possible
# NOT USE - 35 no (never asked for IC because there was no tissue)
# USE - 36 yes, no medical info, no commercial business, health treatment when possible
# NOT USE - 37 no, endpoint
# USE - 38 wil niets invullen, wel alles gebruiken
# USE - 39 second informed concents: yes, no commercial business
# NOT USE - 40 nooit geincludeerd
cat("- sanity checking PRIOR to selection")
- sanity checking PRIOR to selection
library(data.table)
require(labelled)
ae.gender <- to_factor(AEDB$Gender)
ae.hospital <- to_factor(AEDB$Hospital)
table(ae.gender, ae.hospital, dnn = c("Sex", "Hospital"))
Hospital
Sex St. Antonius, Nieuwegein UMC Utrecht
female 524 636
male 1211 1420
ae.artery <- to_factor(AEDB$Artery_summary)
table(ae.artery, ae.gender, dnn = c("Sex", "Artery"))
Artery
Sex female male
No artery known (yet), no surgery (patient ill, died, exited study), re-numbered to AAA 0 0
carotid (left & right) 805 1781
femoral/iliac (left, right or both sides) 320 796
other carotid arteries (common, external) 17 35
carotid bypass and injury (left, right or both sides) 6 3
aneurysmata (carotid & femoral) 1 0
aorta 3 5
other arteries (renal, popliteal, vertebral) 4 9
femoral bypass, angioseal and injury (left, right or both sides) 4 2
rm(ae.gender, ae.hospital, ae.artery)
# I change numeric and factors manually because, well, I wouldn't know how to fix it otherwise
# to have this 'tibble' work with 'tableone'... :-)
AEDB$Age <- as.numeric(AEDB$Age)
AEDB$diastoli <- as.numeric(AEDB$diastoli)
AEDB$systolic <- as.numeric(AEDB$systolic)
AEDB$TC_finalCU <- as.numeric(AEDB$TC_finalCU)
AEDB$LDL_finalCU <- as.numeric(AEDB$LDL_finalCU)
AEDB$HDL_finalCU <- as.numeric(AEDB$HDL_finalCU)
AEDB$TG_finalCU <- as.numeric(AEDB$TG_finalCU)
AEDB$TC_final <- as.numeric(AEDB$TC_final)
AEDB$LDL_final <- as.numeric(AEDB$LDL_final)
AEDB$HDL_final <- as.numeric(AEDB$HDL_final)
AEDB$TG_final <- as.numeric(AEDB$TG_final)
AEDB$Age <- as.numeric(AEDB$Age)
AEDB$GFR_MDRD <- as.numeric(AEDB$GFR_MDRD)
AEDB$BMI <- as.numeric(AEDB$BMI)
AEDB$eCigarettes <- as.numeric(AEDB$eCigarettes)
AEDB$ePackYearsSmoking <- as.numeric(AEDB$ePackYearsSmoking)
AEDB$EP_composite_time <- as.numeric(AEDB$EP_composite_time)
AEDB$macmean0 <- as.numeric(AEDB$macmean0)
AEDB$smcmean0 <- as.numeric(AEDB$smcmean0)
AEDB$neutrophils <- as.numeric(AEDB$neutrophils)
AEDB$Mast_cells_plaque <- as.numeric(AEDB$Mast_cells_plaque)
AEDB$vessel_density_averaged <- as.numeric(AEDB$vessel_density_averaged)
require(labelled)
AEDB$ORyear <- to_factor(AEDB$ORyear)
AEDB$Gender <- to_factor(AEDB$Gender)
AEDB$Hospital <- to_factor(AEDB$Hospital)
AEDB$KDOQI <- to_factor(AEDB$KDOQI)
AEDB$BMI_WHO <- to_factor(AEDB$BMI_WHO)
AEDB$DiabetesStatus <- to_factor(AEDB$DiabetesStatus)
AEDB$SmokerStatus <- to_factor(AEDB$SmokerStatus)
AEDB$AlcoholUse <- to_factor(AEDB$AlcoholUse)
AEDB$Hypertension.selfreport <- to_factor(AEDB$Hypertension1)
AEDB$Hypertension.selfreportdrug <- to_factor(AEDB$Hypertension2)
AEDB$Hypertension.composite <- to_factor(AEDB$Hypertension.composite)
AEDB$Hypertension.drugs <- to_factor(AEDB$Hypertension.drugs)
AEDB$Med.anticoagulants <- to_factor(AEDB$Med.anticoagulants)
AEDB$Med.all.antiplatelet <- to_factor(AEDB$Med.all.antiplatelet)
AEDB$Med.Statin.LLD <- to_factor(AEDB$Med.Statin.LLD)
AEDB$Stroke_Dx <- to_factor(AEDB$Stroke_Dx)
AEDB$CAD_history <- to_factor(AEDB$CAD_history)
AEDB$PAOD <- to_factor(AEDB$PAOD)
AEDB$Peripheral.interv <- to_factor(AEDB$Peripheral.interv)
AEDB$sympt <- to_factor(AEDB$sympt)
AEDB$Symptoms.3g <- to_factor(AEDB$Symptoms.3g)
AEDB$Symptoms.4g <- to_factor(AEDB$Symptoms.4g)
AEDB$Symptoms.5G <- to_factor(AEDB$Symptoms.5G)
AEDB$AsymptSympt <- to_factor(AEDB$AsymptSympt)
AEDB$AsymptSympt2G <- to_factor(AEDB$AsymptSympt2G)
AEDB$restenos <- to_factor(AEDB$restenos)
AEDB$stenose <- to_factor(AEDB$stenose)
AEDB$EP_composite <- to_factor(AEDB$EP_composite)
AEDB$Macrophages.bin <- to_factor(AEDB$Macrophages.bin)
AEDB$SMC.bin <- to_factor(AEDB$SMC.bin)
AEDB$IPH.bin <- to_factor(AEDB$IPH.bin)
AEDB$Calc.bin <- to_factor(AEDB$Calc.bin)
AEDB$Collagen.bin <- to_factor(AEDB$Collagen.bin)
AEDB$Fat.bin_10 <- to_factor(AEDB$Fat.bin_10)
AEDB$Fat.bin_40 <- to_factor(AEDB$Fat.bin_40)
AEDB$OverallPlaquePhenotype <- to_factor(AEDB$OverallPlaquePhenotype)
AEDB$Artery_summary <- to_factor(AEDB$Artery_summary)
AEDB$informedconsent <- to_factor(AEDB$informedconsent)
AEDB.CEA <- subset(AEDB,
(Artery_summary == "carotid (left & right)" | Artery_summary == "other carotid arteries (common, external)") & # we only want carotids
informedconsent != "missing" & # we are really strict in selecting based on 'informed consent'!
informedconsent != "no, died" &
informedconsent != "yes, no tissue, no commerical business" &
informedconsent != "yes, no tissue, no questionnaires, no medical info, no commercial business" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no commerical business" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no medical info, no commercial business" &
informedconsent != "yes, no tissue, no health treatment" &
informedconsent != "yes, no tissue, no questionnaires" &
informedconsent != "yes, no tissue, health treatment when possible" &
informedconsent != "yes, no tissue" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no medical info" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no commercial business" &
informedconsent != "no, doesn't want to" &
informedconsent != "no, unable to sign" &
informedconsent != "no, no reaction" &
informedconsent != "no, lost" &
informedconsent != "no, too old" &
informedconsent != "yes, no medical info, health treatment when possible" &
informedconsent != "no (never asked for IC because there was no tissue)" &
informedconsent != "no, endpoint" &
informedconsent != "nooit geincludeerd" &
!is.na(AsymptSympt2G))
# AEDB.CEA[1:10, 1:10]
dim(AEDB.CEA)
[1] 2421 1100
cat("===========================================================================================\n")
===========================================================================================
cat("CREATE BASELINE TABLE\n")
CREATE BASELINE TABLE
# Baseline table variables
basetable_vars = c("Hospital", "ORyear",
"Age", "Gender",
"TC_finalCU", "LDL_finalCU", "HDL_finalCU", "TG_finalCU",
"TC_final", "LDL_final", "HDL_final", "TG_final",
"systolic", "diastoli", "GFR_MDRD", "BMI",
"KDOQI", "BMI_WHO",
"SmokerStatus", "AlcoholUse",
"DiabetesStatus",
"Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs",
"Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD",
"Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt", "AsymptSympt2G",
"restenos", "stenose",
"CAD_history", "PAOD", "Peripheral.interv",
"EP_composite", "EP_composite_time",
"macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
"neutrophils", "Mast_cells_plaque",
"IPH.bin", "vessel_density_averaged",
"Calc.bin", "Collagen.bin",
"Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype")
basetable_bin = c("Gender",
"KDOQI", "BMI_WHO",
"SmokerStatus", "AlcoholUse",
"DiabetesStatus",
"Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs",
"Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD",
"Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt", "AsymptSympt2G",
"restenos", "stenose",
"CAD_history", "PAOD", "Peripheral.interv",
"EP_composite", "Macrophages.bin", "SMC.bin",
"IPH.bin",
"Calc.bin", "Collagen.bin",
"Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype")
# basetable_bin
basetable_con = basetable_vars[!basetable_vars %in% basetable_bin]
# basetable_con
Showing the baseline table of the whole Athero-Express Biobank.
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.CEA.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Gender",
data = AEDB.CEA, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:3]
level Overall Missing
n 2421
Hospital % (freq) St. Antonius, Nieuwegein 39.2 ( 948) 0.0
UMC Utrecht 60.8 (1473)
ORyear % (freq) No data available/missing 0.0 ( 0) 0.0
2002 3.3 ( 81)
2003 6.5 ( 157)
2004 7.8 ( 190)
2005 7.6 ( 185)
2006 7.6 ( 183)
2007 6.3 ( 152)
2008 5.7 ( 138)
2009 7.5 ( 181)
2010 6.6 ( 159)
2011 6.7 ( 163)
2012 7.3 ( 176)
2013 6.2 ( 149)
2014 6.7 ( 163)
2015 3.1 ( 76)
2016 3.5 ( 85)
2017 2.7 ( 65)
2018 2.7 ( 66)
2019 2.1 ( 52)
Age (mean (SD)) 69.105 (9.302) 0.0
Gender % (freq) female 30.5 ( 738) 0.0
male 69.5 (1683)
TC_finalCU (mean (SD)) 184.803 (56.262) 38.0
LDL_finalCU (mean (SD)) 108.420 (41.744) 45.6
HDL_finalCU (mean (SD)) 46.435 (17.005) 41.7
TG_finalCU (mean (SD)) 151.216 (91.277) 42.8
TC_final (mean (SD)) 4.786 (1.457) 38.0
LDL_final (mean (SD)) 2.808 (1.081) 45.6
HDL_final (mean (SD)) 1.203 (0.440) 41.7
TG_final (mean (SD)) 1.709 (1.031) 42.8
systolic (mean (SD)) 152.419 (25.166) 11.3
diastoli (mean (SD)) 81.318 (25.188) 11.3
GFR_MDRD (mean (SD)) 73.121 (21.152) 5.4
BMI (mean (SD)) 26.488 (3.977) 5.9
KDOQI % (freq) No data available/missing 0.0 ( 0) 5.5
Normal kidney function 19.1 ( 462)
CKD 2 (Mild) 50.9 (1232)
CKD 3 (Moderate) 22.8 ( 553)
CKD 4 (Severe) 1.3 ( 32)
CKD 5 (Failure) 0.4 ( 10)
<NA> 5.5 ( 132)
BMI_WHO % (freq) No data available/missing 0.0 ( 0) 5.9
Underweight 1.0 ( 24)
Normal 35.1 ( 850)
Overweight 43.4 (1051)
Obese 14.5 ( 352)
<NA> 5.9 ( 144)
SmokerStatus % (freq) Current smoker 33.2 ( 803) 5.9
Ex-smoker 48.0 (1163)
Never smoked 12.9 ( 313)
<NA> 5.9 ( 142)
AlcoholUse % (freq) No 34.5 ( 835) 4.0
Yes 61.5 (1488)
<NA> 4.0 ( 98)
DiabetesStatus % (freq) Control (no Diabetes Dx/Med) 75.2 (1820) 1.1
Diabetes 23.7 ( 574)
<NA> 1.1 ( 27)
Hypertension.selfreport % (freq) No data available/missing 0.0 ( 0) 3.2
no 24.3 ( 589)
yes 72.4 (1754)
<NA> 3.2 ( 78)
Hypertension.selfreportdrug % (freq) No data available/missing 0.0 ( 0) 4.4
no 29.9 ( 725)
yes 65.6 (1589)
<NA> 4.4 ( 107)
Hypertension.composite % (freq) No data available/missing 0.0 ( 0) 1.2
no 14.6 ( 353)
yes 84.3 (2040)
<NA> 1.2 ( 28)
Hypertension.drugs % (freq) No data available/missing 0.0 ( 0) 1.4
no 23.3 ( 565)
yes 75.3 (1823)
<NA> 1.4 ( 33)
Med.anticoagulants % (freq) No data available/missing 0.0 ( 0) 1.6
no 87.3 (2114)
yes 11.1 ( 269)
<NA> 1.6 ( 38)
Med.all.antiplatelet % (freq) No data available/missing 0.0 ( 0) 1.5
no 12.2 ( 295)
yes 86.3 (2090)
<NA> 1.5 ( 36)
Med.Statin.LLD % (freq) No data available/missing 0.0 ( 0) 1.4
no 20.3 ( 491)
yes 78.3 (1896)
<NA> 1.4 ( 34)
Stroke_Dx % (freq) Missing 0.0 ( 0) 6.9
No stroke diagnosed 71.5 (1731)
Stroke diagnosed 21.6 ( 524)
<NA> 6.9 ( 166)
sympt % (freq) missing 0.0 ( 0) 0.0
Asymptomatic 11.2 ( 270)
TIA 39.7 ( 961)
minor stroke 16.8 ( 407)
Major stroke 9.8 ( 238)
Amaurosis fugax 15.7 ( 379)
Four vessel disease 1.6 ( 38)
Vertebrobasilary TIA 0.2 ( 5)
Retinal infarction 1.4 ( 34)
Symptomatic, but aspecific symtoms 2.2 ( 53)
Contralateral symptomatic occlusion 0.5 ( 11)
retinal infarction 0.2 ( 6)
armclaudication due to occlusion subclavian artery, CEA needed for bypass 0.0 ( 1)
retinal infarction + TIAs 0.0 ( 0)
Ocular ischemic syndrome 0.7 ( 16)
ischemisch glaucoom 0.0 ( 0)
subclavian steal syndrome 0.1 ( 2)
TGA 0.0 ( 0)
Symptoms.5G % (freq) Asymptomatic 11.2 ( 270) 0.0
Ocular 16.3 ( 395)
Other 4.3 ( 105)
Retinal infarction 1.7 ( 40)
Stroke 26.6 ( 645)
TIA 39.9 ( 966)
AsymptSympt % (freq) Asymptomatic 11.2 ( 270) 0.0
Ocular and others 22.3 ( 540)
Symptomatic 66.5 (1611)
AsymptSympt2G % (freq) Asymptomatic 11.2 ( 270) 0.0
Symptomatic 88.8 (2151)
restenos % (freq) missing 0.0 ( 0) 1.4
de novo 93.7 (2268)
restenosis 4.9 ( 118)
stenose bij angioseal na PTCA 0.0 ( 0)
<NA> 1.4 ( 35)
stenose % (freq) missing 0.0 ( 0) 2.0
0-49% 0.5 ( 13)
50-70% 7.8 ( 189)
70-90% 46.6 (1127)
90-99% 38.3 ( 927)
100% (Occlusion) 1.3 ( 31)
NA 0.0 ( 1)
50-99% 0.6 ( 15)
70-99% 2.8 ( 68)
99 0.1 ( 2)
<NA> 2.0 ( 48)
CAD_history % (freq) Missing 0.0 ( 0) 1.9
No history CAD 66.8 (1618)
History CAD 31.2 ( 756)
<NA> 1.9 ( 47)
PAOD % (freq) missing/no data 0.0 ( 0) 2.0
no 77.5 (1876)
yes 20.5 ( 497)
<NA> 2.0 ( 48)
Peripheral.interv % (freq) no 77.2 (1868) 2.9
yes 19.9 ( 482)
<NA> 2.9 ( 71)
EP_composite % (freq) No data available. 0.0 ( 0) 5.0
No composite endpoints 70.6 (1709)
Composite endpoints 24.4 ( 590)
<NA> 5.0 ( 122)
EP_composite_time (mean (SD)) 2.479 (1.109) 5.2
macmean0 (mean (SD)) 0.768 (1.184) 29.7
smcmean0 (mean (SD)) 1.985 (2.381) 29.9
Macrophages.bin % (freq) no/minor 34.9 ( 846) 24.1
moderate/heavy 40.9 ( 991)
<NA> 24.1 ( 584)
SMC.bin % (freq) no/minor 24.9 ( 602) 23.8
moderate/heavy 51.3 (1242)
<NA> 23.8 ( 577)
neutrophils (mean (SD)) 147.151 (419.998) 87.4
Mast_cells_plaque (mean (SD)) 164.488 (163.771) 90.0
IPH.bin % (freq) no 30.7 ( 744) 23.5
yes 45.8 (1108)
<NA> 23.5 ( 569)
vessel_density_averaged (mean (SD)) 8.318 (6.388) 35.1
Calc.bin % (freq) no/minor 41.6 (1006) 23.4
moderate/heavy 35.1 ( 849)
<NA> 23.4 ( 566)
Collagen.bin % (freq) no/minor 15.8 ( 382) 23.6
moderate/heavy 60.6 (1467)
<NA> 23.6 ( 572)
Fat.bin_10 % (freq) <10% 22.4 ( 542) 23.3
>10% 54.3 (1314)
<NA> 23.3 ( 565)
Fat.bin_40 % (freq) <40% 56.2 (1360) 23.3
>40% 20.5 ( 496)
<NA> 23.3 ( 565)
OverallPlaquePhenotype % (freq) atheromatous 19.8 ( 480) 23.7
fibroatheromatous 27.8 ( 672)
fibrous 28.7 ( 695)
<NA> 23.7 ( 574)
metadata <- scRNAseqData@meta.data %>% as_tibble()
scRNAseqDataMeta <- metadata %>% distinct(Patient, .keep_all = TRUE)
distinct: removed 6,154 rows (99%), 37 rows remaining
scRNAseqDataMetaAE <- merge(scRNAseqDataMeta, AEDB, by.x = "Patient", by.y = "STUDY_NUMBER", sort = FALSE, all.x = TRUE)
dim(scRNAseqDataMetaAE)
[1] 37 1123
# Replace missing data
# Ref: https://cran.r-project.org/web/packages/naniar/vignettes/replace-with-na.html
require(naniar)
na_strings <- c("NA", "N A", "N / A", "N/A", "N/ A",
"Not Available", "Not available",
"missing",
"-999", "-99",
"No data available/missing", "No data available/Missing")
# Then you write ~.x %in% na_strings - which reads as “does this value occur in the list of NA strings”.
scRNAseqDataMetaAE %>%
replace_with_na_all(condition = ~.x %in% na_strings)
cat("====================================================================================================")
====================================================================================================
cat("SELECTION THE SHIZZLE")
SELECTION THE SHIZZLE
cat("- sanity checking PRIOR to selection")
- sanity checking PRIOR to selection
library(data.table)
require(labelled)
ae.gender <- to_factor(scRNAseqDataMetaAE$Gender)
ae.hospital <- to_factor(scRNAseqDataMetaAE$Hospital)
table(ae.gender, ae.hospital, dnn = c("Sex", "Hospital"), useNA = "ifany")
Hospital
Sex St. Antonius, Nieuwegein UMC Utrecht <NA>
female 0 10 0
male 0 26 0
<NA> 0 0 1
ae.artery <- to_factor(scRNAseqDataMetaAE$Artery_summary)
table(ae.artery, ae.gender, dnn = c("Sex", "Artery"), useNA = "ifany")
Artery
Sex female male <NA>
No artery known (yet), no surgery (patient ill, died, exited study), re-numbered to AAA 0 0 0
carotid (left & right) 10 25 0
femoral/iliac (left, right or both sides) 0 0 0
other carotid arteries (common, external) 0 1 0
carotid bypass and injury (left, right or both sides) 0 0 0
aneurysmata (carotid & femoral) 0 0 0
aorta 0 0 0
other arteries (renal, popliteal, vertebral) 0 0 0
femoral bypass, angioseal and injury (left, right or both sides) 0 0 0
<NA> 0 0 1
ae.ic <- to_factor(scRNAseqDataMetaAE$informedconsent)
table(ae.ic, ae.gender, useNA = "ifany")
ae.gender
ae.ic female male <NA>
missing 0 0 0
no, died 0 0 0
yes 5 14 0
yes, health treatment when possible 2 7 0
yes, no health treatment 1 2 0
yes, no health treatment, no commercial business 1 2 0
yes, no tissue, no commerical business 0 0 0
yes, no tissue, no questionnaires, no medical info, no commercial business 0 0 0
yes, no questionnaires, no health treatment, no commercial business 0 0 0
yes, no questionnaires, health treatment when possible 0 0 0
yes, no tissue, no questionnaires, no health treatment, no commerical business 0 0 0
yes, no health treatment, no medical info, no commercial business 0 0 0
yes, no tissue, no questionnaires, no health treatment, no medical info, no commercial business 0 0 0
yes, no questionnaires, no health treatment 0 0 0
yes, no tissue, no health treatment 0 0 0
yes, no tissue, no questionnaires 0 0 0
yes, no tissue, health treatment when possible 0 0 0
yes, no tissue 0 0 0
yes, no commerical business 0 1 0
yes, health treatment when possible, no commercial business 0 0 0
yes, no medical info, no commercial business 0 0 0
yes, no questionnaires 0 0 0
yes, no tissue, no questionnaires, no health treatment, no medical info 0 0 0
yes, no tissue, no questionnaires, no health treatment, no commercial business 0 0 0
yes, no medical info 0 0 0
yes, no questionnaires, no commercial business 0 0 0
yes, no questionnaires, no health treatment, no medical info 0 0 0
yes, no questionnaires, health treatment when possible, no commercial business 0 0 0
yes, no health treatment, no medical info 0 0 0
no, doesn't want to 0 0 0
no, unable to sign 0 0 0
no, no reaction 0 0 0
no, lost 0 0 0
no, too old 0 0 0
yes, no medical info, health treatment when possible 1 0 0
no (never asked for IC because there was no tissue) 0 0 0
yes, no medical info, no commercial business, health treatment when possible 0 0 0
no, endpoint 0 0 0
wil niets invullen, wel alles gebruiken 0 0 0
second informed concents: yes, no commercial business 0 0 0
nooit geincludeerd 0 0 0
<NA> 0 0 1
rm(ae.gender, ae.hospital, ae.artery, ae.ic)
scRNAseqDataMetaAE.all <- subset(scRNAseqDataMetaAE,
(Artery_summary == "carotid (left & right)" | Artery_summary == "other carotid arteries (common, external)" ) & # we only want carotids
informedconsent != "missing" & # we are really strict in selecting based on 'informed consent'!
informedconsent != "no, died" &
informedconsent != "yes, no tissue, no commerical business" &
informedconsent != "yes, no tissue, no questionnaires, no medical info, no commercial business" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no commerical business" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no medical info, no commercial business" &
informedconsent != "yes, no tissue, no health treatment" &
informedconsent != "yes, no tissue, no questionnaires" &
informedconsent != "yes, no tissue, health treatment when possible" &
informedconsent != "yes, no tissue" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no medical info" &
informedconsent != "yes, no tissue, no questionnaires, no health treatment, no commercial business" &
informedconsent != "no, doesn't want to" &
informedconsent != "no, unable to sign" &
informedconsent != "no, no reaction" &
informedconsent != "no, lost" &
informedconsent != "no, too old" &
informedconsent != "yes, no medical info, health treatment when possible" &
informedconsent != "no (never asked for IC because there was no tissue)" &
informedconsent != "no, endpoint" &
informedconsent != "nooit geincludeerd")
# scRNAseqDataMetaAE.all[1:10, 1:10]
dim(scRNAseqDataMetaAE.all)
[1] 35 1123
# DT::datatable(scRNAseqDataMetaAE.all)
Showing the baseline table.
cat("===========================================================================================")
===========================================================================================
cat("CREATE BASELINE TABLE")
CREATE BASELINE TABLE
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
scRNAseqDataMetaAE.all.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Gender",
data = scRNAseqDataMetaAE.all, includeNA = TRUE),
nonnormal = c(),
quote = FALSE, showAllLevels = TRUE,
format = "p",
contDigits = 3)[,1:2]
These variables only have NA/NaN: macmean0 smcmean0 Macrophages.bin SMC.bin neutrophils Mast_cells_plaque IPH.bin vessel_density_averaged Calc.bin Collagen.bin Fat.bin_10 Fat.bin_40 OverallPlaquePhenotype Dropped
level Overall
n 35
Hospital (%) St. Antonius, Nieuwegein 0.0
UMC Utrecht 100.0
ORyear (%) No data available/missing 0.0
2002 0.0
2003 0.0
2004 0.0
2005 0.0
2006 0.0
2007 0.0
2008 0.0
2009 0.0
2010 0.0
2011 0.0
2012 0.0
2013 0.0
2014 0.0
2015 0.0
2016 0.0
2017 0.0
2018 65.7
2019 34.3
Age (mean (SD)) 72.743 (8.176)
Gender (%) female 25.7
male 74.3
TC_finalCU (mean (SD)) 168.311 (47.773)
LDL_finalCU (mean (SD)) 96.971 (38.196)
HDL_finalCU (mean (SD)) 43.897 (10.171)
TG_finalCU (mean (SD)) 171.469 (109.939)
TC_final (mean (SD)) 4.359 (1.237)
LDL_final (mean (SD)) 2.512 (0.989)
HDL_final (mean (SD)) 1.137 (0.263)
TG_final (mean (SD)) 1.938 (1.242)
systolic (mean (SD)) 153.265 (25.803)
diastoli (mean (SD)) 80.824 (16.129)
GFR_MDRD (mean (SD)) 83.278 (31.136)
BMI (mean (SD)) 26.477 (3.428)
KDOQI (%) No data available/missing 0.0
Normal kidney function 34.3
CKD 2 (Mild) 31.4
CKD 3 (Moderate) 22.9
CKD 4 (Severe) 0.0
CKD 5 (Failure) 0.0
<NA> 11.4
BMI_WHO (%) No data available/missing 0.0
Underweight 2.9
Normal 31.4
Overweight 42.9
Obese 14.3
<NA> 8.6
SmokerStatus (%) Current smoker 34.3
Ex-smoker 48.6
Never smoked 14.3
<NA> 2.9
AlcoholUse (%) No 37.1
Yes 57.1
<NA> 5.7
DiabetesStatus (%) Control (no Diabetes Dx/Med) 62.9
Diabetes 37.1
Hypertension.selfreport (%) No data available/missing 0.0
no 11.4
yes 85.7
<NA> 2.9
Hypertension.selfreportdrug (%) No data available/missing 0.0
no 11.4
yes 85.7
<NA> 2.9
Hypertension.composite (%) No data available/missing 0.0
no 5.7
yes 94.3
Hypertension.drugs (%) No data available/missing 0.0
no 5.7
yes 91.4
<NA> 2.9
Med.anticoagulants (%) No data available/missing 0.0
no 88.6
yes 5.7
<NA> 5.7
Med.all.antiplatelet (%) No data available/missing 0.0
no 25.7
yes 71.4
<NA> 2.9
Med.Statin.LLD (%) No data available/missing 0.0
no 20.0
yes 77.1
<NA> 2.9
Stroke_Dx (%) Missing 0.0
No stroke diagnosed 51.4
Stroke diagnosed 48.6
sympt (%) missing 0.0
Asymptomatic 17.1
TIA 14.3
minor stroke 34.3
Major stroke 8.6
Amaurosis fugax 14.3
Four vessel disease 0.0
Vertebrobasilary TIA 0.0
Retinal infarction 2.9
Symptomatic, but aspecific symtoms 0.0
Contralateral symptomatic occlusion 0.0
retinal infarction 2.9
armclaudication due to occlusion subclavian artery, CEA needed for bypass 0.0
retinal infarction + TIAs 0.0
Ocular ischemic syndrome 5.7
ischemisch glaucoom 0.0
subclavian steal syndrome 0.0
TGA 0.0
Symptoms.5G (%) Asymptomatic 17.1
Ocular 20.0
Other 0.0
Retinal infarction 5.7
Stroke 42.9
TIA 14.3
AsymptSympt (%) Asymptomatic 17.1
Ocular and others 25.7
Symptomatic 57.1
AsymptSympt2G (%) Asymptomatic 17.1
Symptomatic 82.9
restenos (%) missing 0.0
de novo 100.0
restenosis 0.0
stenose bij angioseal na PTCA 0.0
stenose (%) missing 0.0
0-49% 2.9
50-70% 17.1
70-90% 42.9
90-99% 17.1
100% (Occlusion) 0.0
NA 0.0
50-99% 0.0
70-99% 20.0
99 0.0
CAD_history (%) Missing 0.0
No history CAD 74.3
History CAD 25.7
PAOD (%) missing/no data 0.0
no 85.7
yes 14.3
Peripheral.interv (%) no 77.1
yes 20.0
<NA> 2.9
EP_composite (%) No data available. 0.0
No composite endpoints 42.9
Composite endpoints 11.4
<NA> 45.7
EP_composite_time (mean (SD)) 0.931 (0.483)
Writing the baseline table to Excel format.
# Write basetable
require(openxlsx)
write.xlsx(file = paste0(OUT_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.scRNAseq.xlsx"),
format(scRNAseqDataMetaAE.all.tableOne, digits = 5, scientific = FALSE) , row.names = TRUE, col.names = TRUE)
Here review the number of cells per sample, plate, and patients. And plot the ratio’s per sample and study number.
## check stuff
cat("\nHow many cells per type ...?")
How many cells per type ...?
sort(table(scRNAseqData@meta.data$SCT_snn_res.0.8))
17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
31 34 84 110 151 172 190 203 211 225 290 345 437 534 577 626 861 1110
cat("\n\nHow many cells per plate ...?")
How many cells per plate ...?
sort(table(scRNAseqData@meta.data$ID))
4530.P1 4440.P1 4472.P1 4478.P1 4477.P1 4500.P1 4458.P1 4459.P1 4447.P2 4447.P3 4487.P2 4502.P1 4455.P1 4496.P1 4501.P1 4447.P1 4489.P1 4476.P1 4448.P1 4487.P1 4571.P1 4495.P1 4432.P1 4520.P1 4450.P2
4 11 32 40 41 45 47 48 51 66 75 80 82 88 93 96 102 104 105 112 112 115 129 130 134
4545.P1 4513.P1 4452.P3 4453.P3 4452.P2 4450.P1 4558.P1 4535.P1 4488.P1 4480.P1 4470.P1 4450.P3 4453.P1 4486.P1 4452.P1 4546.P1 4443.P2 4491.P1 4453.P2 4530.P2 4443.P1 4521.P2 4443.P3 4542.P1
135 139 141 143 155 157 157 158 159 161 165 166 177 179 183 188 189 193 197 207 209 212 239 240
cat("\n\nHow many cells per type per plate ...?")
How many cells per type per plate ...?
table(scRNAseqData@meta.data$SCT_snn_res.0.8, scRNAseqData@meta.data$ID)
4432.P1 4440.P1 4443.P1 4443.P2 4443.P3 4447.P1 4447.P2 4447.P3 4448.P1 4450.P1 4450.P2 4450.P3 4452.P1 4452.P2 4452.P3 4453.P1 4453.P2 4453.P3 4455.P1 4458.P1 4459.P1 4470.P1 4472.P1 4476.P1 4477.P1
0 28 2 31 56 53 8 7 12 22 15 22 22 5 15 21 19 20 23 10 5 2 44 1 10 11
1 23 0 0 1 0 0 0 0 27 13 10 11 7 17 14 18 27 17 9 2 9 25 5 21 12
2 18 1 15 11 8 9 5 4 11 20 23 25 4 8 8 7 4 6 19 8 9 16 10 8 2
3 2 0 3 4 4 4 3 8 0 27 20 50 134 48 32 42 78 12 2 2 0 2 0 7 0
4 14 2 5 7 5 2 3 2 6 12 5 5 7 10 6 33 15 19 10 1 2 23 0 7 2
5 11 3 21 22 28 5 6 5 7 9 4 5 5 6 4 17 14 14 5 6 6 5 3 13 1
6 1 1 66 46 73 15 1 4 3 4 7 6 4 10 13 18 10 26 3 1 3 20 0 0 0
7 4 0 14 6 4 8 4 6 3 31 24 10 5 9 14 4 2 5 0 2 1 7 3 3 0
8 9 0 10 2 5 4 3 7 4 2 5 4 0 2 2 1 3 1 4 2 0 4 3 3 1
9 3 1 3 2 2 8 5 8 8 14 4 8 2 3 2 0 0 2 1 8 0 0 0 1 0
10 7 0 5 6 1 2 2 0 2 2 3 6 3 4 2 1 4 2 7 2 2 1 4 4 1
11 0 1 7 5 2 23 11 8 0 0 5 3 0 8 7 1 2 5 3 2 6 7 1 10 5
12 4 0 8 7 11 0 0 0 9 0 0 5 3 6 6 2 11 3 3 0 4 7 1 2 5
13 1 0 20 7 40 6 0 0 1 0 1 1 0 0 1 0 1 0 2 1 1 2 0 1 0
14 1 0 0 1 1 1 0 1 1 5 1 3 1 2 6 4 3 1 2 3 0 0 0 9 0
15 0 0 1 5 1 1 1 1 0 1 0 1 3 6 2 4 3 3 1 2 1 2 1 2 0
16 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 3 0 0 2 0 0 2 0
17 2 0 0 1 0 0 0 0 1 2 0 1 0 1 0 4 0 1 1 0 0 0 0 1 1
4478.P1 4480.P1 4486.P1 4487.P1 4487.P2 4488.P1 4489.P1 4491.P1 4495.P1 4496.P1 4500.P1 4501.P1 4502.P1 4513.P1 4520.P1 4521.P2 4530.P1 4530.P2 4535.P1 4542.P1 4545.P1 4546.P1 4558.P1 4571.P1
0 7 15 38 15 5 28 30 38 12 7 9 28 25 29 23 43 0 29 32 78 57 44 44 10
1 7 51 21 27 21 44 20 51 29 9 4 28 17 24 20 48 1 12 24 41 17 38 28 11
2 6 16 31 18 11 10 4 11 14 49 5 10 1 9 13 13 1 72 12 11 1 8 11 30
3 1 3 7 0 14 1 0 1 2 3 6 3 2 2 7 14 1 9 1 2 6 3 3 2
4 1 1 7 1 2 4 11 16 15 3 3 2 17 29 8 32 0 17 45 13 14 64 22 4
5 5 17 5 11 4 8 4 22 14 4 8 3 5 17 7 14 1 18 12 12 3 4 3 11
6 0 0 1 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 1 12 19 5 0 18 4 2 3 1 1 3 0 1 1 0 0 3 1 23 4 4 7 8
8 4 2 12 7 2 6 9 5 6 1 0 1 2 14 19 1 0 25 2 5 8 1 3 9
9 1 3 14 6 1 17 4 9 1 2 0 1 1 4 7 2 0 2 0 37 5 2 5 2
10 0 12 3 2 1 2 4 18 7 3 0 7 1 4 3 4 0 4 12 5 6 12 19 1
11 1 9 8 0 11 2 3 2 5 0 2 5 2 1 7 5 0 0 2 1 1 1 0 0
12 4 8 4 4 1 16 2 9 1 0 0 0 7 4 0 6 0 0 4 1 1 2 1 0
13 0 0 1 3 0 1 0 3 0 1 0 0 0 0 1 20 0 5 0 3 5 1 6 15
14 1 2 0 1 1 1 3 1 4 1 5 0 0 1 11 2 0 6 7 2 6 3 2 4
15 1 8 6 2 1 0 1 4 1 2 0 1 0 0 1 6 0 0 2 2 0 1 2 1
16 0 2 2 0 0 1 0 0 1 1 2 1 0 0 0 1 0 1 2 3 1 0 0 4
17 0 0 0 1 0 0 3 1 0 1 0 0 0 0 2 1 0 4 0 1 0 0 1 0
cat("\n\nHow many cells per patient ...?")
How many cells per patient ...?
sort(table(scRNAseqData@meta.data$Patient))
4440 4472 4478 4477 4500 4458 4459 4502 4455 4496 4501 4489 4476 4448 4571 4495 4432 4520 4545 4513 4558 4535 4488 4480 4470 4486 4487 4546 4491 4530 4521 4447 4542 4450 4452 4453 4443
11 32 40 41 45 47 48 80 82 88 93 102 104 105 112 115 129 130 135 139 157 158 159 161 165 179 187 188 193 211 212 213 240 457 479 517 637
cat("\n\nVisualizing these ratio's per study number and sample ...?")
Visualizing these ratio's per study number and sample ...?
UMAPPlot(scRNAseqData, label = TRUE, pt.size = 1.25, label.size = 4, group.by = "ident",
repel = TRUE)
ggsave(paste0(PLOT_loc, "/", Today, ".UMAP.png"), plot = last_plot())
Saving 7.29 x 4.51 in image
ggsave(paste0(PLOT_loc, "/", Today, ".UMAP.ps"), plot = last_plot())
Saving 7.29 x 4.51 in image
barplot(prop.table(x = table(scRNAseqData@active.ident, scRNAseqData@meta.data$Patient)),
cex.axis = 1.0, cex.names = 0.5, las = 1,
col = uithof_color, xlab = "study number", legend.text = FALSE, args.legend = list(x = "bottom"))
dev.copy(pdf, paste0(QC_loc, "/", Today, ".cell_ratios_per_sample.pdf"))
pdf
3
dev.off()
quartz_off_screen
2
barplot(prop.table(x = table(scRNAseqData@active.ident, scRNAseqData@meta.data$ID)),
cex.axis = 1.0, cex.names = 0.5, las = 2,
col = uithof_color, xlab = "sample ID", legend.text = FALSE, args.legend = list(x = "bottom"))
dev.copy(pdf, paste0(QC_loc, "/", Today, ".cell_ratios_per_sample_per_plate.pdf"))
pdf
3
dev.off()
quartz_off_screen
2
Let’s project known cellular markers.
UMAPPlot(scRNAseqData, label = FALSE, pt.size = 1.25, label.size = 4, group.by = "ident",
repel = TRUE)
# endothelial cells
FeaturePlot(scRNAseqData, features = c("CD34"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("EDN1"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("EDNRA", "EDNRB"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("CDH5", "PECAM1"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("ACKR1"), cols = c("#ECECEC", "#DB003F"))
# SMC
FeaturePlot(scRNAseqData, features = c("MYH11"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("LGALS3", "ACTA2"), cols = c("#ECECEC", "#DB003F"))
# macrophages
FeaturePlot(scRNAseqData, features = c("CD14", "CD68"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("CD36"), cols = c("#ECECEC", "#DB003F"))
# t-cells
FeaturePlot(scRNAseqData, features = c("CD3E"), cols = c("#ECECEC", "#DB003F"))
FeaturePlot(scRNAseqData, features = c("CD4"), cols = c("#ECECEC", "#DB003F"))
# FeaturePlot(scRNAseqData, features = c("CD8"), cols = c("#ECECEC", "#DB003F"))
# b-cells
FeaturePlot(scRNAseqData, features = c("CD79A"), cols = c("#ECECEC", "#DB003F"))
# mast cells
FeaturePlot(scRNAseqData, features = c("KIT"), cols = c("#ECECEC", "#DB003F"))
# NK cells
FeaturePlot(scRNAseqData, features = c("NCAM1"), cols = c("#ECECEC", "#DB003F"))
We check whether the targets genes, PHACTR1, EDN1, GFOD1, TBC1D7, ENPP1, ENPP3, IGFBP3, AC011294.3, C9orf53, CDKN2B, RP11-145E5.5, CDKN2A, MTAP, AL137026.1, ZNF32, ZNF485, ARID5B, RTKN2, ADK, AP3M1, CAMK2G, COMTD1, DUPD1, DUSP13, KAT6B, SAMD8, VCL, VDAC2, FGF23, COL4A2, ADAMTS7, CHRNB4, MORF4L1, CHRNA5, CTSH, APOE, APOC1, BCAM, PVRL2, TOMM40, RPL9, C6orf195, C12orf4, COL4A1, CETP, SMG6, PLEKHJ1, were sequenced using our method (STARseq).
Several genes are not present or have different names, these are listed here, and were manually removed from/changed in the list.
target_genes
[1] "PHACTR1" "EDN1" "GFOD1" "TBC1D7" "ENPP1" "ENPP3" "IGFBP3" "AC011294.3" "C9orf53" "CDKN2B" "RP11-145E5.5" "CDKN2A" "MTAP"
[14] "AL137026.1" "ZNF32" "ZNF485" "ARID5B" "RTKN2" "ADK" "AP3M1" "CAMK2G" "COMTD1" "DUPD1" "DUSP13" "KAT6B" "SAMD8"
[27] "VCL" "VDAC2" "FGF23" "COL4A2" "ADAMTS7" "CHRNB4" "MORF4L1" "CHRNA5" "CTSH" "APOE" "APOC1" "BCAM" "PVRL2"
[40] "TOMM40" "RPL9" "C6orf195" "C12orf4" "COL4A1" "CETP" "SMG6" "PLEKHJ1"
target_genes_rm <- c("AC011294.3", "C6orf195", "C9orf53", "AL137026.1", "DUPD1", "RP11-145E5.5", "PVRL2",
"RP1-257A7.4", "RP1-257A7.5", "KIAA1462",
"ZNF32", "BCAM")
temp = target_genes[!target_genes %in% target_genes_rm]
target_genes_qc <- c(temp, "NECTIN2", "JCAD")
target_genes_qc
[1] "PHACTR1" "EDN1" "GFOD1" "TBC1D7" "ENPP1" "ENPP3" "IGFBP3" "CDKN2B" "CDKN2A" "MTAP" "ZNF485" "ARID5B" "RTKN2" "ADK" "AP3M1" "CAMK2G" "COMTD1" "DUSP13" "KAT6B" "SAMD8"
[21] "VCL" "VDAC2" "FGF23" "COL4A2" "ADAMTS7" "CHRNB4" "MORF4L1" "CHRNA5" "CTSH" "APOE" "APOC1" "TOMM40" "RPL9" "C12orf4" "COL4A1" "CETP" "SMG6" "PLEKHJ1" "NECTIN2" "JCAD"
library(RColorBrewer)
p1 <- DotPlot(scRNAseqData, features = target_genes_qc,
cols = "RdBu")
p1 + theme(axis.text.x = element_text(angle = 45, hjust=1, size = 5))
ggsave(paste0(PLOT_loc, "/", Today, ".DotPlot.Targets.png"), plot = last_plot())
ggsave(paste0(PLOT_loc, "/", Today, ".DotPlot.Targets.ps"), plot = last_plot())
rm(p1)
# FeaturePlot(scRNAseqData, features = c(target_genes_qc),
# cols = c("#ECECEC", "#DB003F", "#9A3480","#1290D9"),
# combine = TRUE)
#
# ggsave(paste0(PLOT_loc, "/", Today, ".FeaturePlot.Targets.png"), plot = last_plot())
# ggsave(paste0(PLOT_loc, "/", Today, ".FeaturePlot.Targets.ps"), plot = last_plot())
# VlnPlot(scRNAseqData, features = "DUSP29")
for (GENE in target_genes_qc){
print(paste0("Projecting the expression of ", GENE, "."))
vp1 <- VlnPlot(scRNAseqData, features = GENE) +
xlab("cell communities") +
ylab(bquote("normalized expression")) +
theme(axis.title.x = element_text(color = "#000000", size = 14, face = "bold"),
axis.title.y = element_text(color = "#000000", size = 14, face = "bold"),
legend.position = "none")
ggsave(paste0(PLOT_loc, "/", Today, ".VlnPlot.",GENE,".png"), plot = last_plot())
ggsave(paste0(PLOT_loc, "/", Today, ".VlnPlot.",GENE,".ps"), plot = last_plot())
# print(vp1)
}
[1] "Projecting the expression of PHACTR1."
Saving 7 x 7 in image
[1] "Projecting the expression of EDN1."
[1] "Projecting the expression of GFOD1."
[1] "Projecting the expression of TBC1D7."
[1] "Projecting the expression of ENPP1."
[1] "Projecting the expression of ENPP3."
[1] "Projecting the expression of IGFBP3."
[1] "Projecting the expression of CDKN2B."
[1] "Projecting the expression of CDKN2A."
[1] "Projecting the expression of MTAP."
[1] "Projecting the expression of ZNF485."
[1] "Projecting the expression of ARID5B."
[1] "Projecting the expression of RTKN2."
[1] "Projecting the expression of ADK."
[1] "Projecting the expression of AP3M1."
[1] "Projecting the expression of CAMK2G."
[1] "Projecting the expression of COMTD1."
[1] "Projecting the expression of DUSP13."
[1] "Projecting the expression of KAT6B."
[1] "Projecting the expression of SAMD8."
[1] "Projecting the expression of VCL."
[1] "Projecting the expression of VDAC2."
[1] "Projecting the expression of FGF23."
[1] "Projecting the expression of COL4A2."
[1] "Projecting the expression of ADAMTS7."
[1] "Projecting the expression of CHRNB4."
[1] "Projecting the expression of MORF4L1."
[1] "Projecting the expression of CHRNA5."
[1] "Projecting the expression of CTSH."
[1] "Projecting the expression of APOE."
[1] "Projecting the expression of APOC1."
[1] "Projecting the expression of TOMM40."
[1] "Projecting the expression of RPL9."
[1] "Projecting the expression of C12orf4."
[1] "Projecting the expression of COL4A1."
[1] "Projecting the expression of CETP."
[1] "Projecting the expression of SMG6."
[1] "Projecting the expression of PLEKHJ1."
[1] "Projecting the expression of NECTIN2."
[1] "Projecting the expression of JCAD."
Here we project genes to only the broad cell communities:
Comparison between the macrophages cell communities (CD14/CD68+), and all other communities.
N_GENES=20552
MAC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III"),
ident.2 = c(#"CD14+CD68+ M I",
#"CD14+CD68+ M II",
#"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
DT::datatable(MAC.markers)
MAC_Volcano_TargetsA = EnhancedVolcano(MAC.markers,
lab = rownames(MAC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Macrophage markers\n(Macrophage communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
MAC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.MAC.DEG.Targets.pdf"),
plot = MAC_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
MAC.markers <- add_column(MAC.markers, Gene = row.names(MAC.markers), .before = 1)
temp <- MAC.markers[MAC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".MAC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the smooth muscle cell communities (ACTA2+), and all other communities.
N_GENES=20552
SMC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("ACTA2+ SMC"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
# "ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~54s
|++ | 2 % ~49s
|++ | 3 % ~47s
|+++ | 4 % ~46s
|+++ | 5 % ~45s
|++++ | 6 % ~44s
|++++ | 7 % ~43s
|+++++ | 9 % ~43s
|+++++ | 10% ~46s
|++++++ | 11% ~44s
|++++++ | 12% ~43s
|+++++++ | 13% ~42s
|+++++++ | 14% ~41s
|++++++++ | 15% ~40s
|++++++++ | 16% ~39s
|+++++++++ | 17% ~38s
|++++++++++ | 18% ~38s
|++++++++++ | 19% ~37s
|+++++++++++ | 20% ~36s
|+++++++++++ | 21% ~36s
|++++++++++++ | 22% ~35s
|++++++++++++ | 23% ~35s
|+++++++++++++ | 24% ~34s
|+++++++++++++ | 26% ~33s
|++++++++++++++ | 27% ~33s
|++++++++++++++ | 28% ~32s
|+++++++++++++++ | 29% ~32s
|+++++++++++++++ | 30% ~31s
|++++++++++++++++ | 31% ~31s
|++++++++++++++++ | 32% ~30s
|+++++++++++++++++ | 33% ~30s
|++++++++++++++++++ | 34% ~29s
|++++++++++++++++++ | 35% ~29s
|+++++++++++++++++++ | 36% ~28s
|+++++++++++++++++++ | 37% ~28s
|++++++++++++++++++++ | 38% ~27s
|++++++++++++++++++++ | 39% ~26s
|+++++++++++++++++++++ | 40% ~26s
|+++++++++++++++++++++ | 41% ~25s
|++++++++++++++++++++++ | 43% ~25s
|++++++++++++++++++++++ | 44% ~24s
|+++++++++++++++++++++++ | 45% ~24s
|+++++++++++++++++++++++ | 46% ~23s
|++++++++++++++++++++++++ | 47% ~23s
|++++++++++++++++++++++++ | 48% ~22s
|+++++++++++++++++++++++++ | 49% ~22s
|+++++++++++++++++++++++++ | 50% ~21s
|++++++++++++++++++++++++++ | 51% ~21s
|+++++++++++++++++++++++++++ | 52% ~20s
|+++++++++++++++++++++++++++ | 53% ~20s
|++++++++++++++++++++++++++++ | 54% ~19s
|++++++++++++++++++++++++++++ | 55% ~19s
|+++++++++++++++++++++++++++++ | 56% ~18s
|+++++++++++++++++++++++++++++ | 57% ~18s
|++++++++++++++++++++++++++++++ | 59% ~18s
|++++++++++++++++++++++++++++++ | 60% ~17s
|+++++++++++++++++++++++++++++++ | 61% ~17s
|+++++++++++++++++++++++++++++++ | 62% ~17s
|++++++++++++++++++++++++++++++++ | 63% ~16s
|++++++++++++++++++++++++++++++++ | 64% ~16s
|+++++++++++++++++++++++++++++++++ | 65% ~15s
|+++++++++++++++++++++++++++++++++ | 66% ~15s
|++++++++++++++++++++++++++++++++++ | 67% ~14s
|+++++++++++++++++++++++++++++++++++ | 68% ~14s
|+++++++++++++++++++++++++++++++++++ | 69% ~14s
|++++++++++++++++++++++++++++++++++++ | 70% ~14s
|++++++++++++++++++++++++++++++++++++ | 71% ~13s
|+++++++++++++++++++++++++++++++++++++ | 72% ~13s
|+++++++++++++++++++++++++++++++++++++ | 73% ~12s
|++++++++++++++++++++++++++++++++++++++ | 74% ~12s
|++++++++++++++++++++++++++++++++++++++ | 76% ~11s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~11s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=44s
DT::datatable(SMC.markers)
SMC_Volcano_TargetsA = EnhancedVolcano(SMC.markers,
lab = rownames(SMC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "SMC markers\n(SMC communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
SMC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.SMC.DEG.Targets.pdf"),
plot = SMC_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
SMC.markers <- add_column(SMC.markers, Gene = row.names(SMC.markers), .before = 1)
temp <- SMC.markers[SMC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".SMC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the endothelial cell communities (CD34+), and all other communities.
N_GENES=20552
EC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD34+ EC I", "CD34+ EC II"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
# "CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~45s
|++ | 2 % ~54s
|++ | 3 % ~48s
|+++ | 4 % ~45s
|+++ | 5 % ~43s
|++++ | 6 % ~41s
|++++ | 8 % ~41s
|+++++ | 9 % ~39s
|+++++ | 10% ~38s
|++++++ | 11% ~38s
|++++++ | 12% ~37s
|+++++++ | 13% ~37s
|+++++++ | 14% ~37s
|++++++++ | 15% ~37s
|+++++++++ | 16% ~36s
|+++++++++ | 17% ~35s
|++++++++++ | 18% ~46s
|++++++++++ | 19% ~45s
|+++++++++++ | 20% ~44s
|+++++++++++ | 22% ~43s
|++++++++++++ | 23% ~42s
|++++++++++++ | 24% ~41s
|+++++++++++++ | 25% ~40s
|+++++++++++++ | 26% ~39s
|++++++++++++++ | 27% ~38s
|++++++++++++++ | 28% ~37s
|+++++++++++++++ | 29% ~36s
|++++++++++++++++ | 30% ~35s
|++++++++++++++++ | 31% ~34s
|+++++++++++++++++ | 32% ~34s
|+++++++++++++++++ | 33% ~33s
|++++++++++++++++++ | 34% ~32s
|++++++++++++++++++ | 35% ~32s
|+++++++++++++++++++ | 37% ~31s
|+++++++++++++++++++ | 38% ~30s
|++++++++++++++++++++ | 39% ~30s
|++++++++++++++++++++ | 40% ~29s
|+++++++++++++++++++++ | 41% ~29s
|+++++++++++++++++++++ | 42% ~28s
|++++++++++++++++++++++ | 43% ~27s
|+++++++++++++++++++++++ | 44% ~27s
|+++++++++++++++++++++++ | 45% ~26s
|++++++++++++++++++++++++ | 46% ~25s
|++++++++++++++++++++++++ | 47% ~25s
|+++++++++++++++++++++++++ | 48% ~24s
|+++++++++++++++++++++++++ | 49% ~24s
|++++++++++++++++++++++++++ | 51% ~23s
|++++++++++++++++++++++++++ | 52% ~22s
|+++++++++++++++++++++++++++ | 53% ~22s
|+++++++++++++++++++++++++++ | 54% ~21s
|++++++++++++++++++++++++++++ | 55% ~21s
|++++++++++++++++++++++++++++ | 56% ~20s
|+++++++++++++++++++++++++++++ | 57% ~19s
|++++++++++++++++++++++++++++++ | 58% ~19s
|++++++++++++++++++++++++++++++ | 59% ~18s
|+++++++++++++++++++++++++++++++ | 60% ~18s
|+++++++++++++++++++++++++++++++ | 61% ~17s
|++++++++++++++++++++++++++++++++ | 62% ~17s
|++++++++++++++++++++++++++++++++ | 63% ~16s
|+++++++++++++++++++++++++++++++++ | 65% ~16s
|+++++++++++++++++++++++++++++++++ | 66% ~15s
|++++++++++++++++++++++++++++++++++ | 67% ~15s
|++++++++++++++++++++++++++++++++++ | 68% ~14s
|+++++++++++++++++++++++++++++++++++ | 69% ~14s
|+++++++++++++++++++++++++++++++++++ | 70% ~13s
|++++++++++++++++++++++++++++++++++++ | 71% ~13s
|+++++++++++++++++++++++++++++++++++++ | 72% ~12s
|+++++++++++++++++++++++++++++++++++++ | 73% ~12s
|++++++++++++++++++++++++++++++++++++++ | 74% ~12s
|++++++++++++++++++++++++++++++++++++++ | 75% ~11s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~11s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=42s
DT::datatable(EC.markers)
EC_Volcano_TargetsA = EnhancedVolcano(EC.markers,
lab = rownames(EC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Endothelial cell markers\n(EC communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
EC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.EC.DEG.Targets.pdf"),
plot = EC_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
EC.markers <- add_column(EC.markers, Gene = row.names(EC.markers), .before = 1)
temp <- EC.markers[EC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".EC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the T-cell communities (CD3/CD4/CD8+), and all other communities.
N_GENES=20552
TC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
# "CD3+CD8+ T I",
# "CD3+CD8A+ T II ",
# "CD3+CD8 T III",
# "CD3+CD4+ T I",
# "CD3+CD4+ T II",
# "CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~33s
|++ | 2 % ~33s
|++ | 3 % ~32s
|+++ | 4 % ~30s
|+++ | 5 % ~29s
|++++ | 6 % ~28s
|++++ | 7 % ~28s
|+++++ | 9 % ~33s
|+++++ | 10% ~32s
|++++++ | 11% ~30s
|++++++ | 12% ~29s
|+++++++ | 13% ~28s
|+++++++ | 14% ~28s
|++++++++ | 15% ~27s
|++++++++ | 16% ~26s
|+++++++++ | 17% ~26s
|++++++++++ | 18% ~25s
|++++++++++ | 19% ~25s
|+++++++++++ | 20% ~24s
|+++++++++++ | 21% ~24s
|++++++++++++ | 22% ~23s
|++++++++++++ | 23% ~23s
|+++++++++++++ | 24% ~22s
|+++++++++++++ | 26% ~22s
|++++++++++++++ | 27% ~22s
|++++++++++++++ | 28% ~21s
|+++++++++++++++ | 29% ~21s
|+++++++++++++++ | 30% ~21s
|++++++++++++++++ | 31% ~20s
|++++++++++++++++ | 32% ~20s
|+++++++++++++++++ | 33% ~20s
|++++++++++++++++++ | 34% ~19s
|++++++++++++++++++ | 35% ~19s
|+++++++++++++++++++ | 36% ~19s
|+++++++++++++++++++ | 37% ~19s
|++++++++++++++++++++ | 38% ~18s
|++++++++++++++++++++ | 39% ~18s
|+++++++++++++++++++++ | 40% ~18s
|+++++++++++++++++++++ | 41% ~17s
|++++++++++++++++++++++ | 43% ~17s
|++++++++++++++++++++++ | 44% ~17s
|+++++++++++++++++++++++ | 45% ~16s
|+++++++++++++++++++++++ | 46% ~16s
|++++++++++++++++++++++++ | 47% ~16s
|++++++++++++++++++++++++ | 48% ~15s
|+++++++++++++++++++++++++ | 49% ~15s
|+++++++++++++++++++++++++ | 50% ~15s
|++++++++++++++++++++++++++ | 51% ~14s
|+++++++++++++++++++++++++++ | 52% ~14s
|+++++++++++++++++++++++++++ | 53% ~14s
|++++++++++++++++++++++++++++ | 54% ~13s
|++++++++++++++++++++++++++++ | 55% ~13s
|+++++++++++++++++++++++++++++ | 56% ~13s
|+++++++++++++++++++++++++++++ | 57% ~12s
|++++++++++++++++++++++++++++++ | 59% ~12s
|++++++++++++++++++++++++++++++ | 60% ~12s
|+++++++++++++++++++++++++++++++ | 61% ~11s
|+++++++++++++++++++++++++++++++ | 62% ~11s
|++++++++++++++++++++++++++++++++ | 63% ~11s
|++++++++++++++++++++++++++++++++ | 64% ~10s
|+++++++++++++++++++++++++++++++++ | 65% ~10s
|+++++++++++++++++++++++++++++++++ | 66% ~10s
|++++++++++++++++++++++++++++++++++ | 67% ~10s
|+++++++++++++++++++++++++++++++++++ | 68% ~10s
|+++++++++++++++++++++++++++++++++++ | 69% ~09s
|++++++++++++++++++++++++++++++++++++ | 70% ~09s
|++++++++++++++++++++++++++++++++++++ | 71% ~09s
|+++++++++++++++++++++++++++++++++++++ | 72% ~08s
|+++++++++++++++++++++++++++++++++++++ | 73% ~08s
|++++++++++++++++++++++++++++++++++++++ | 74% ~08s
|++++++++++++++++++++++++++++++++++++++ | 76% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~07s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=30s
DT::datatable(TC.markers)
TC_Volcano_TargetsA = EnhancedVolcano(TC.markers,
lab = rownames(TC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "T-cell markers\n(T-cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
TC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.TC.DEG.Targets.pdf"),
plot = TC_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
TC.markers <- add_column(TC.markers, Gene = row.names(TC.markers), .before = 1)
temp <- TC.markers[TC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".TC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the B-cell communities (CD79A+), and all other communities.
N_GENES=20552
BC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("CD79A+ B I",
"CD79A+ B II"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC"))
| | 0 % ~calculating
|+ | 1 % ~20s
|++ | 2 % ~20s
|++ | 3 % ~23s
|+++ | 4 % ~22s
|+++ | 5 % ~21s
|++++ | 6 % ~20s
|++++ | 7 % ~20s
|+++++ | 8 % ~19s
|+++++ | 9 % ~19s
|++++++ | 10% ~19s
|++++++ | 11% ~18s
|+++++++ | 12% ~18s
|+++++++ | 13% ~18s
|++++++++ | 14% ~18s
|++++++++ | 15% ~17s
|+++++++++ | 16% ~17s
|+++++++++ | 17% ~17s
|++++++++++ | 18% ~17s
|++++++++++ | 19% ~16s
|+++++++++++ | 20% ~16s
|+++++++++++ | 21% ~16s
|++++++++++++ | 22% ~16s
|++++++++++++ | 23% ~16s
|+++++++++++++ | 24% ~15s
|+++++++++++++ | 26% ~15s
|++++++++++++++ | 27% ~15s
|++++++++++++++ | 28% ~15s
|+++++++++++++++ | 29% ~15s
|+++++++++++++++ | 30% ~14s
|++++++++++++++++ | 31% ~14s
|++++++++++++++++ | 32% ~14s
|+++++++++++++++++ | 33% ~14s
|+++++++++++++++++ | 34% ~14s
|++++++++++++++++++ | 35% ~13s
|++++++++++++++++++ | 36% ~13s
|+++++++++++++++++++ | 37% ~13s
|+++++++++++++++++++ | 38% ~13s
|++++++++++++++++++++ | 39% ~13s
|++++++++++++++++++++ | 40% ~12s
|+++++++++++++++++++++ | 41% ~12s
|+++++++++++++++++++++ | 42% ~12s
|++++++++++++++++++++++ | 43% ~12s
|++++++++++++++++++++++ | 44% ~11s
|+++++++++++++++++++++++ | 45% ~11s
|+++++++++++++++++++++++ | 46% ~11s
|++++++++++++++++++++++++ | 47% ~11s
|++++++++++++++++++++++++ | 48% ~11s
|+++++++++++++++++++++++++ | 49% ~10s
|+++++++++++++++++++++++++ | 50% ~10s
|++++++++++++++++++++++++++ | 51% ~10s
|+++++++++++++++++++++++++++ | 52% ~10s
|+++++++++++++++++++++++++++ | 53% ~10s
|++++++++++++++++++++++++++++ | 54% ~09s
|++++++++++++++++++++++++++++ | 55% ~09s
|+++++++++++++++++++++++++++++ | 56% ~09s
|+++++++++++++++++++++++++++++ | 57% ~09s
|++++++++++++++++++++++++++++++ | 58% ~08s
|++++++++++++++++++++++++++++++ | 59% ~08s
|+++++++++++++++++++++++++++++++ | 60% ~08s
|+++++++++++++++++++++++++++++++ | 61% ~08s
|++++++++++++++++++++++++++++++++ | 62% ~08s
|++++++++++++++++++++++++++++++++ | 63% ~07s
|+++++++++++++++++++++++++++++++++ | 64% ~07s
|+++++++++++++++++++++++++++++++++ | 65% ~07s
|++++++++++++++++++++++++++++++++++ | 66% ~07s
|++++++++++++++++++++++++++++++++++ | 67% ~07s
|+++++++++++++++++++++++++++++++++++ | 68% ~07s
|+++++++++++++++++++++++++++++++++++ | 69% ~06s
|++++++++++++++++++++++++++++++++++++ | 70% ~06s
|++++++++++++++++++++++++++++++++++++ | 71% ~06s
|+++++++++++++++++++++++++++++++++++++ | 72% ~06s
|+++++++++++++++++++++++++++++++++++++ | 73% ~06s
|++++++++++++++++++++++++++++++++++++++ | 74% ~05s
|++++++++++++++++++++++++++++++++++++++ | 76% ~05s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~05s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~05s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~04s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~04s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~04s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~04s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~03s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~03s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=20s
DT::datatable(BC.markers)
BC_Volcano_TargetsA = EnhancedVolcano(BC.markers,
lab = rownames(BC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "B-cell markers\n(B-cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
BC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.BC.DEG.Targets.pdf"),
plot = BC_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
BC.markers <- add_column(BC.markers, Gene = row.names(BC.markers), .before = 1)
temp <- BC.markers[BC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".BC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the mast cell communities (KIT+), and all other communities.
N_GENES=20552
MC.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("KIT+ MC"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
# "KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~31s
|++ | 2 % ~31s
|++ | 3 % ~30s
|+++ | 4 % ~29s
|+++ | 5 % ~28s
|++++ | 6 % ~27s
|++++ | 7 % ~27s
|+++++ | 8 % ~26s
|+++++ | 9 % ~26s
|++++++ | 10% ~25s
|++++++ | 11% ~25s
|+++++++ | 12% ~25s
|+++++++ | 13% ~25s
|++++++++ | 14% ~24s
|++++++++ | 15% ~24s
|+++++++++ | 16% ~24s
|+++++++++ | 17% ~23s
|++++++++++ | 18% ~23s
|++++++++++ | 19% ~23s
|+++++++++++ | 20% ~23s
|+++++++++++ | 21% ~22s
|++++++++++++ | 22% ~22s
|++++++++++++ | 23% ~22s
|+++++++++++++ | 24% ~21s
|+++++++++++++ | 25% ~22s
|++++++++++++++ | 26% ~21s
|++++++++++++++ | 27% ~21s
|+++++++++++++++ | 28% ~21s
|+++++++++++++++ | 29% ~20s
|++++++++++++++++ | 30% ~20s
|++++++++++++++++ | 31% ~20s
|+++++++++++++++++ | 32% ~19s
|+++++++++++++++++ | 33% ~19s
|++++++++++++++++++ | 34% ~19s
|++++++++++++++++++ | 35% ~18s
|+++++++++++++++++++ | 36% ~18s
|+++++++++++++++++++ | 37% ~18s
|++++++++++++++++++++ | 38% ~17s
|++++++++++++++++++++ | 39% ~17s
|+++++++++++++++++++++ | 40% ~17s
|+++++++++++++++++++++ | 41% ~17s
|++++++++++++++++++++++ | 42% ~16s
|++++++++++++++++++++++ | 43% ~16s
|+++++++++++++++++++++++ | 44% ~16s
|+++++++++++++++++++++++ | 45% ~15s
|++++++++++++++++++++++++ | 46% ~15s
|++++++++++++++++++++++++ | 47% ~17s
|+++++++++++++++++++++++++ | 48% ~16s
|+++++++++++++++++++++++++ | 49% ~16s
|++++++++++++++++++++++++++ | 51% ~16s
|++++++++++++++++++++++++++ | 52% ~15s
|+++++++++++++++++++++++++++ | 53% ~15s
|+++++++++++++++++++++++++++ | 54% ~15s
|++++++++++++++++++++++++++++ | 55% ~14s
|++++++++++++++++++++++++++++ | 56% ~14s
|+++++++++++++++++++++++++++++ | 57% ~14s
|+++++++++++++++++++++++++++++ | 58% ~13s
|++++++++++++++++++++++++++++++ | 59% ~13s
|++++++++++++++++++++++++++++++ | 60% ~13s
|+++++++++++++++++++++++++++++++ | 61% ~12s
|+++++++++++++++++++++++++++++++ | 62% ~12s
|++++++++++++++++++++++++++++++++ | 63% ~12s
|++++++++++++++++++++++++++++++++ | 64% ~11s
|+++++++++++++++++++++++++++++++++ | 65% ~11s
|+++++++++++++++++++++++++++++++++ | 66% ~11s
|++++++++++++++++++++++++++++++++++ | 67% ~10s
|++++++++++++++++++++++++++++++++++ | 68% ~10s
|+++++++++++++++++++++++++++++++++++ | 69% ~10s
|+++++++++++++++++++++++++++++++++++ | 70% ~10s
|++++++++++++++++++++++++++++++++++++ | 71% ~10s
|++++++++++++++++++++++++++++++++++++ | 72% ~09s
|+++++++++++++++++++++++++++++++++++++ | 73% ~09s
|+++++++++++++++++++++++++++++++++++++ | 74% ~09s
|++++++++++++++++++++++++++++++++++++++ | 75% ~08s
|++++++++++++++++++++++++++++++++++++++ | 76% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~07s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=32s
DT::datatable(MC.markers)
MC_Volcano_TargetsA = EnhancedVolcano(MC.markers,
lab = rownames(MC.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Mast cell markers\n(Mast cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
MC_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.MC.DEG.Targets.pdf"),
plot = MC_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
MC.markers <- add_column(MC.markers, Gene = row.names(MC.markers), .before = 1)
temp <- MC.markers[MC.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".MC.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the natural killer cell communities (NCAM1+), and all other communities.
N_GENES=20552
NK.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("NCAM1+ NK"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
"Mixed I",
"Mixed II",
"ACTA2+ SMC",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~16s
|++ | 2 % ~17s
|++ | 3 % ~16s
|+++ | 4 % ~16s
|+++ | 5 % ~16s
|++++ | 6 % ~15s
|++++ | 7 % ~15s
|+++++ | 8 % ~15s
|+++++ | 9 % ~15s
|++++++ | 10% ~14s
|++++++ | 11% ~14s
|+++++++ | 12% ~14s
|+++++++ | 13% ~14s
|++++++++ | 14% ~14s
|++++++++ | 15% ~14s
|+++++++++ | 16% ~14s
|+++++++++ | 17% ~13s
|++++++++++ | 18% ~13s
|++++++++++ | 19% ~13s
|+++++++++++ | 20% ~13s
|+++++++++++ | 21% ~13s
|++++++++++++ | 22% ~12s
|++++++++++++ | 23% ~12s
|+++++++++++++ | 24% ~12s
|+++++++++++++ | 25% ~12s
|++++++++++++++ | 26% ~12s
|++++++++++++++ | 27% ~12s
|+++++++++++++++ | 28% ~11s
|+++++++++++++++ | 29% ~11s
|++++++++++++++++ | 30% ~11s
|++++++++++++++++ | 31% ~11s
|+++++++++++++++++ | 32% ~11s
|+++++++++++++++++ | 33% ~11s
|++++++++++++++++++ | 34% ~11s
|++++++++++++++++++ | 35% ~11s
|+++++++++++++++++++ | 36% ~10s
|+++++++++++++++++++ | 37% ~11s
|++++++++++++++++++++ | 38% ~11s
|++++++++++++++++++++ | 39% ~10s
|+++++++++++++++++++++ | 40% ~10s
|+++++++++++++++++++++ | 41% ~10s
|++++++++++++++++++++++ | 42% ~10s
|++++++++++++++++++++++ | 43% ~10s
|+++++++++++++++++++++++ | 44% ~09s
|+++++++++++++++++++++++ | 45% ~09s
|++++++++++++++++++++++++ | 46% ~09s
|++++++++++++++++++++++++ | 47% ~09s
|+++++++++++++++++++++++++ | 48% ~09s
|+++++++++++++++++++++++++ | 49% ~08s
|++++++++++++++++++++++++++ | 51% ~08s
|++++++++++++++++++++++++++ | 52% ~08s
|+++++++++++++++++++++++++++ | 53% ~08s
|+++++++++++++++++++++++++++ | 54% ~08s
|++++++++++++++++++++++++++++ | 55% ~07s
|++++++++++++++++++++++++++++ | 56% ~07s
|+++++++++++++++++++++++++++++ | 57% ~07s
|+++++++++++++++++++++++++++++ | 58% ~07s
|++++++++++++++++++++++++++++++ | 59% ~07s
|++++++++++++++++++++++++++++++ | 60% ~07s
|+++++++++++++++++++++++++++++++ | 61% ~06s
|+++++++++++++++++++++++++++++++ | 62% ~06s
|++++++++++++++++++++++++++++++++ | 63% ~06s
|++++++++++++++++++++++++++++++++ | 64% ~06s
|+++++++++++++++++++++++++++++++++ | 65% ~06s
|+++++++++++++++++++++++++++++++++ | 66% ~06s
|++++++++++++++++++++++++++++++++++ | 67% ~05s
|++++++++++++++++++++++++++++++++++ | 68% ~05s
|+++++++++++++++++++++++++++++++++++ | 69% ~05s
|+++++++++++++++++++++++++++++++++++ | 70% ~05s
|++++++++++++++++++++++++++++++++++++ | 71% ~05s
|++++++++++++++++++++++++++++++++++++ | 72% ~05s
|+++++++++++++++++++++++++++++++++++++ | 73% ~05s
|+++++++++++++++++++++++++++++++++++++ | 74% ~05s
|++++++++++++++++++++++++++++++++++++++ | 75% ~05s
|++++++++++++++++++++++++++++++++++++++ | 76% ~04s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~04s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~04s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~03s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~03s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~03s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=18s
DT::datatable(NK.markers)
NK_Volcano_TargetsA = EnhancedVolcano(NK.markers,
lab = rownames(NK.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "NK markers\n(NK-cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
NK_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.NK.DEG.Targets.pdf"),
plot = NK_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
NK.markers <- add_column(NK.markers, Gene = row.names(NK.markers), .before = 1)
temp <- NK.markers[NK.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".NK.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Comparison between the mixed cell communities, and all other communities.
N_GENES=20552
MIXED.markers <- FindMarkers(object = scRNAseqData,
ident.1 = c("Mixed I",
"Mixed II"),
ident.2 = c("CD14+CD68+ M I",
"CD14+CD68+ M II",
"CD14+CD68+ M III",
"CD3+CD8+ T I",
"CD3+CD8A+ T II ",
"CD3+CD8 T III",
"CD3+CD4+ T I",
"CD3+CD4+ T II",
"CD3+CD4+ T III",
"CD34+ EC I", "CD34+ EC II",
# "Mixed I",
# "Mixed II",
"ACTA2+ SMC",
"NCAM1+ NK",
"KIT+ MC",
"CD79A+ B I",
"CD79A+ B II"))
| | 0 % ~calculating
|+ | 1 % ~01m 05s
|++ | 2 % ~58s
|++ | 3 % ~54s
|+++ | 4 % ~51s
|+++ | 5 % ~50s
|++++ | 6 % ~48s
|++++ | 7 % ~48s
|+++++ | 8 % ~48s
|+++++ | 9 % ~47s
|++++++ | 10% ~46s
|++++++ | 11% ~46s
|+++++++ | 12% ~45s
|+++++++ | 13% ~44s
|++++++++ | 14% ~44s
|++++++++ | 15% ~43s
|+++++++++ | 16% ~43s
|+++++++++ | 17% ~42s
|++++++++++ | 18% ~41s
|++++++++++ | 19% ~41s
|+++++++++++ | 20% ~40s
|+++++++++++ | 21% ~40s
|++++++++++++ | 22% ~39s
|++++++++++++ | 23% ~39s
|+++++++++++++ | 24% ~38s
|+++++++++++++ | 26% ~38s
|++++++++++++++ | 27% ~37s
|++++++++++++++ | 28% ~37s
|+++++++++++++++ | 29% ~36s
|+++++++++++++++ | 30% ~35s
|++++++++++++++++ | 31% ~35s
|++++++++++++++++ | 32% ~35s
|+++++++++++++++++ | 33% ~34s
|+++++++++++++++++ | 34% ~33s
|++++++++++++++++++ | 35% ~33s
|++++++++++++++++++ | 36% ~32s
|+++++++++++++++++++ | 37% ~32s
|+++++++++++++++++++ | 38% ~32s
|++++++++++++++++++++ | 39% ~32s
|++++++++++++++++++++ | 40% ~31s
|+++++++++++++++++++++ | 41% ~30s
|+++++++++++++++++++++ | 42% ~30s
|++++++++++++++++++++++ | 43% ~29s
|++++++++++++++++++++++ | 44% ~29s
|+++++++++++++++++++++++ | 45% ~28s
|+++++++++++++++++++++++ | 46% ~27s
|++++++++++++++++++++++++ | 47% ~27s
|++++++++++++++++++++++++ | 48% ~26s
|+++++++++++++++++++++++++ | 49% ~26s
|+++++++++++++++++++++++++ | 50% ~25s
|++++++++++++++++++++++++++ | 51% ~25s
|+++++++++++++++++++++++++++ | 52% ~24s
|+++++++++++++++++++++++++++ | 53% ~24s
|++++++++++++++++++++++++++++ | 54% ~23s
|++++++++++++++++++++++++++++ | 55% ~23s
|+++++++++++++++++++++++++++++ | 56% ~22s
|+++++++++++++++++++++++++++++ | 57% ~22s
|++++++++++++++++++++++++++++++ | 58% ~21s
|++++++++++++++++++++++++++++++ | 59% ~20s
|+++++++++++++++++++++++++++++++ | 60% ~20s
|+++++++++++++++++++++++++++++++ | 61% ~19s
|++++++++++++++++++++++++++++++++ | 62% ~19s
|++++++++++++++++++++++++++++++++ | 63% ~18s
|+++++++++++++++++++++++++++++++++ | 64% ~18s
|+++++++++++++++++++++++++++++++++ | 65% ~17s
|++++++++++++++++++++++++++++++++++ | 66% ~17s
|++++++++++++++++++++++++++++++++++ | 67% ~16s
|+++++++++++++++++++++++++++++++++++ | 68% ~16s
|+++++++++++++++++++++++++++++++++++ | 69% ~15s
|++++++++++++++++++++++++++++++++++++ | 70% ~15s
|++++++++++++++++++++++++++++++++++++ | 71% ~14s
|+++++++++++++++++++++++++++++++++++++ | 72% ~14s
|+++++++++++++++++++++++++++++++++++++ | 73% ~13s
|++++++++++++++++++++++++++++++++++++++ | 74% ~13s
|++++++++++++++++++++++++++++++++++++++ | 76% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~12s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~11s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~10s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~09s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~09s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=51s
DT::datatable(MIXED.markers)
MIXED_Volcano_TargetsA = EnhancedVolcano(MIXED.markers,
lab = rownames(MIXED.markers),
x = "avg_log2FC",
y = "p_val_adj",
selectLab = target_genes_qc,
axisLabSize = 12,
xlab = "average fold-change",
title = "Mixed markers\n(Mixed cell communities vs the rest)",
titleLabSize = 14,
pCutoff = 0.05/N_GENES, # 20552 genes
FCcutoff = 1.25,
pointSize = 1.5,
labSize = 3.0,
legendLabels =c('NS','avg. fold-change','P',
'P & avg. fold-change'),
legendPosition = "right",
legendLabSize = 10,
legendIconSize = 3.0,
drawConnectors = TRUE,
widthConnectors = 0.2,
colConnectors = "#595A5C",
gridlines.major = FALSE,
gridlines.minor = FALSE)
MIXED_Volcano_TargetsA
ggsave(paste0(PLOT_loc, "/", Today, ".Volcano.MIXED.DEG.Targets.pdf"),
plot = MIXED_Volcano_TargetsA)
The target results are given below and written to a file.
library(tibble)
MIXED.markers <- add_column(MIXED.markers, Gene = row.names(MIXED.markers), .before = 1)
temp <- MIXED.markers[MIXED.markers$Gene %in% target_genes_qc,]
DT::datatable(temp)
fwrite(temp, file = paste0(OUT_loc, "/", Today, ".MIXED.DEG.Targets.txt"),
quote = FALSE,
sep = "\t",
showProgress = FALSE, verbose = FALSE)
Version: v1.0.1
Last update: 2021-03-11
Written by: Sander W. van der Laan (s.w.vanderlaan-2[at]umcutrecht.nl).
Description: Script to load single-cell RNA sequencing (scRNAseq) data, and perform quality control (QC), and initial mapping to cells.
Minimum requirements: R version 3.5.2 (2018-12-20) -- 'Eggshell Igloo', macOS Mojave (10.14.2).
Change log
* v1.0.1 Update to the gene list.
* v1.0.0 Initial version
sessionInfo()
R version 4.0.4 (2021-02-15)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16
Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats4 parallel grid tools stats graphics grDevices utils datasets methods base
other attached packages:
[1] RColorBrewer_1.1-2 SeuratObject_4.0.0 Seurat_4.0.0 EnhancedVolcano_1.8.0 ggrepel_0.9.1
[6] EnsDb.Hsapiens.v86_2.99.0 ensembldb_2.14.0 AnnotationFilter_1.14.0 TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2 mygene_1.26.0
[11] org.Hs.eg.db_3.12.0 DESeq2_1.30.1 SummarizedExperiment_1.20.0 MatrixGenerics_1.2.1 matrixStats_0.58.0
[16] GenomicFeatures_1.42.1 AnnotationDbi_1.52.0 Biobase_2.50.0 GenomicRanges_1.42.0 GenomeInfoDb_1.26.2
[21] IRanges_2.24.1 S4Vectors_0.28.1 BiocGenerics_0.36.0 corrr_0.4.3 patchwork_1.1.0.9000
[26] reshape2_1.4.4 bacon_1.18.0 ellipse_0.4.2 BiocParallel_1.24.1 meta_4.18-0
[31] qqman_0.1.4 tidylog_1.0.2 gridExtra_2.3 plyr_1.8.6 labelled_2.7.0
[36] UpSetR_1.4.0 ggpubr_0.4.0 forestplot_1.10.1 checkmate_2.0.0 magrittr_2.0.1
[41] pheatmap_1.0.12 devtools_2.3.2 usethis_2.0.1 BlandAltmanLeh_0.3.1 tableone_0.12.0
[46] haven_2.3.1 eeptools_1.2.4 DT_0.17 knitr_1.31 forcats_0.5.1
[51] stringr_1.4.0 purrr_0.3.4 tibble_3.1.0 ggplot2_3.3.3 tidyverse_1.3.0
[56] data.table_1.14.0 naniar_0.6.0 tidyr_1.1.3 dplyr_1.0.5 optparse_1.6.6
[61] readr_1.4.0 openxlsx_4.2.3
loaded via a namespace (and not attached):
[1] tinytex_0.30 clisymbols_1.2.0 mitools_2.4 pander_0.6.3 pbapply_1.4-3 lattice_0.20-41 vctrs_0.3.6 mgcv_1.8-34
[9] blob_1.2.1 survival_3.2-7 spatstat.data_2.0-0 later_1.1.0.1 nloptr_1.2.2.2 DBI_1.1.1 rappdirs_0.3.3 uwot_0.1.10
[17] gsubfn_0.7 jpeg_0.1-8.1 zlibbioc_1.36.0 sjmisc_2.8.6 htmlwidgets_1.5.3 mvtnorm_1.1-1 future_1.21.0 leiden_0.3.7
[25] irlba_2.3.3 Rcpp_1.0.6 KernSmooth_2.23-18 promises_1.2.0.1 DelayedArray_0.16.2 ggeffects_1.0.1 pkgload_1.2.0 Hmisc_4.5-0
[33] fs_1.5.0 digest_0.6.27 png_0.1-7 sctransform_0.3.2 cowplot_1.1.1 pkgconfig_2.0.3 ggbeeswarm_0.6.0 estimability_1.3
[41] iterators_1.0.13 minqa_1.2.4 reticulate_1.18 beeswarm_0.2.3 xfun_0.21 bslib_0.2.4 zoo_1.8-8 tidyselect_1.1.0
[49] performance_0.7.0 ica_1.0-2 viridisLite_0.3.0 rtracklayer_1.50.0 pkgbuild_1.2.0 rlang_0.4.10 jquerylib_0.1.3 spatstat_1.64-1
[57] glue_1.4.2 modelr_0.1.8 emmeans_1.5.4 ggsignif_0.6.1 bayestestR_0.8.2 labeling_0.4.2 maptools_1.0-2 httpuv_1.5.5
[65] class_7.3-18 Rttf2pt1_1.3.8 TH.data_1.0-10 annotate_1.68.0 jsonlite_1.7.2 XVector_0.30.0 bit_4.0.4 mime_0.10
[73] Rsamtools_2.6.0 stringi_1.5.3 insight_0.13.1 processx_3.4.5 scattermore_0.7 survey_4.0 bitops_1.0-6 cli_2.3.1
[81] sqldf_0.4-11 maps_3.3.0 RSQLite_2.2.3 rstudioapi_0.13 GenomicAlignments_1.26.0 nlme_3.1-152 fastcluster_1.1.25 locfit_1.5-9.4
[89] listenv_0.8.0 miniUI_0.1.1.1 dbplyr_2.1.0 sessioninfo_1.1.1 readxl_1.3.1 lifecycle_1.0.0 munsell_0.5.0 cellranger_1.1.0
[97] ggsci_2.9 codetools_0.2-18 coda_0.19-4 vipor_0.4.5 lmtest_0.9-38 htmlTable_2.1.0 proto_1.0.0 xtable_1.8-4
[105] ROCR_1.0-11 BiocManager_1.30.10 abind_1.4-5 farver_2.1.0 parallelly_1.23.0 RANN_2.6.1 askpass_1.1 visdat_0.5.3
[113] CompQuadForm_1.4.3 sjstats_0.18.1 RcppAnnoy_0.0.18 goftest_1.2-2 cluster_2.1.1 future.apply_1.7.0 extrafontdb_1.0 Matrix_1.3-2
[121] ellipsis_0.3.1 prettyunits_1.1.1 lubridate_1.7.10 ggridges_0.5.3 reprex_1.0.0 igraph_1.2.6 sjlabelled_1.1.7 remotes_2.2.0
[129] parameters_0.12.0 testthat_3.0.2 spatstat.utils_2.0-0 getopt_1.20.3 htmltools_0.5.1.1 BiocFileCache_1.14.0 yaml_2.2.1 utf8_1.1.4
[137] plotly_4.9.3 XML_3.99-0.5 e1071_1.7-4 foreign_0.8-81 withr_2.4.1 fitdistrplus_1.1-3 bit64_4.0.5 effectsize_0.4.3
[145] multcomp_1.4-16 foreach_1.5.1 ProtGenerics_1.22.0 Biostrings_2.58.0 memoise_2.0.0 evaluate_0.14 rio_0.5.26 geneplotter_1.68.0
[153] extrafont_0.17 callr_3.5.1 ps_1.6.0 curl_4.3 metafor_2.4-0 fansi_0.4.2 tensor_1.5 cachem_1.0.4
[161] desc_1.3.0 deldir_0.2-10 proj4_1.0-10.1 rstatix_0.7.0 rprojroot_2.0.2 sass_0.3.1 sandwich_3.0-0 RCurl_1.98-1.2
[169] car_3.0-10 xml2_1.3.2 httr_1.4.2 assertthat_0.2.1 rmarkdown_2.7 boot_1.3-27 globals_0.14.0 R6_2.5.0
[177] nnet_7.3-15 progress_1.2.2 genefilter_1.72.1 statmod_1.4.35 sjPlot_2.8.7 ggrastr_0.2.3 splines_4.0.4 carData_3.0-4
[185] colorspace_2.0-0 generics_0.1.0 base64enc_0.1-3 chron_2.3-56 pillar_1.5.1 ggalt_0.4.0 sp_1.4-5 calibrate_1.7.7
[193] GenomeInfoDbData_1.2.4 gtable_0.3.0 rvest_0.3.6 zip_2.1.1 latticeExtra_0.6-29 biomaRt_2.46.3 fastmap_1.1.0 crosstalk_1.1.1
[201] doParallel_1.0.16 vcd_1.4-8 broom_0.7.5 openssl_1.4.3 scales_1.1.1 arm_1.11-2 backports_1.2.1 lme4_1.1-26
[209] hms_1.0.0 Rtsne_0.15 shiny_1.6.0 ash_1.0-15 polyclip_1.10-0 lazyeval_0.2.2 dynamicTreeCut_1.63-1 Formula_1.2-4
[217] crayon_1.4.1 MASS_7.3-53.1 rpart_4.1-15 compiler_4.0.4
save.image(paste0(PROJECT_loc, "/",Today,".",PROJECTNAME,".scrnaseq_results.RData"))
| © 1979-2021 Sander W. van der Laan | s.w.vanderlaan-2[at]umcutrecht.nl | swvanderlaan.github.io. |